25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * CDDL HEADER START
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * The contents of this file are subject to the terms of the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Common Development and Distribution License (the "License").
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * You may not use this file except in compliance with the License.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * or http://www.opensolaris.org/os/licensing.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * See the License for the specific language governing permissions
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * and limitations under the License.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * When distributing Covered Code, include this CDDL HEADER in each
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * If applicable, add the following below this CDDL HEADER, with the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * fields enclosed by brackets "[]" replaced with your own identifying
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * information: Portions Copyright [yyyy] [name of copyright owner]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * CDDL HEADER END
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Use is subject to license terms.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .file "__vexp.S"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#include "libm.h"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis RO_DATA
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/********************************************************************
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * vexp() algorithm is from mopt:f_exp.c. Basics are included here
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * to supplement comments within this file. vexp() has been unrolled
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * to a depth of 3. Only element 0 is documented.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Note 1: INVLN2_256, LN2_256H, and LN2_256L were originally scaled by
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * 2^44 to allow *2^k w/o shifting within the FP registers. These
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * had to be removed for CHEETAH to avoid the fdtox of a very large
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * number, which would trap to kernel (2^52).
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Let x = (k + j/256)ln2 + r
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * then exp(x) = exp(ln2^(k+j/256)) * exp(r)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * = 2^k * 2^(j/256) * exp(r)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * where r is polynomial approximation
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * exp(r) = 1 + r + r^2*B1 + r^3*B2 + r^4*B3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * = 1 + r*(1+r*(B1+r*(B2+r*B3)))
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * let
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * p = r*(1+r*(B1+r*(B2+r*B3))) ! notice, not quite exp(r)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * q = 2^(j/256) (high 64 bits)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * t = 2^(j/256) (extra precision) ! both from _TBL_exp_z[]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * then
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * 2^(j/256) * exp(r) = (q+t)(1+p) ~ q + ( t + q*p )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * then actual computation is 2^k * ( q + ( t + q*p ) )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ********************************************************************/
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr JasiukajtisTBL:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x00000000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00b1a,0xfa5abcbf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc84f6b2,0xa7609f71
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0163d,0xa9fb3335
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9b6129,0x9ab8cdb7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff02168,0x143b0281
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc82bf31,0x0fc54eb6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff02c9a,0x3e778061
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc719083,0x535b085d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff037d4,0x2e11bbcc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c656811,0xeeade11a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff04315,0xe86e7f85
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc90a31c,0x1977c96e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff04e5f,0x72f654b1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c84c379,0x3aa0d08c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff059b0,0xd3158574
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8d73e2,0xa475b465
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0650a,0x0e3c1f89
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc95cb7b,0x5799c396
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0706b,0x29ddf6de
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8c91df,0xe2b13c26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff07bd4,0x2b72a836
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c832334,0x54458700
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff08745,0x18759bc8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c6186be,0x4bb284ff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff092bd,0xf66607e0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc968063,0x800a3fd1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff09e3e,0xcac6f383
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c914878,0x18316136
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0a9c7,0x9b1f3919
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c85d16c,0x873d1d38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0b558,0x6cf9890f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c98a62e,0x4adc610a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0c0f1,0x45e46c85
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c94f989,0x06d21cef
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0cc92,0x2b7247f7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c901edc,0x16e24f71
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0d83b,0x23395dec
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9bc14d,0xe43f316a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0e3ec,0x32d3d1a2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c403a17,0x27c57b53
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0efa5,0x5fdfa9c5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc949db9,0xbc54021b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0fb66,0xaffed31b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc6b9bed,0xc44ebd7b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff10730,0x28d7233e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8d46eb,0x1692fdd5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff11301,0xd0125b51
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc96c510,0x39449b3a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff11edb,0xab5e2ab6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9ca454,0xf703fb72
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff12abd,0xc06c31cc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc51b514,0xb36ca5c7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff136a8,0x14f204ab
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc67108f,0xba48dcf0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1429a,0xaea92de0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc932fbf,0x9af1369e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff14e95,0x934f312e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8b91e8,0x39bf44ab
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff15a98,0xc8a58e51
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c82406a,0xb9eeab0a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff166a4,0x5471c3c2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c58f23b,0x82ea1a32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff172b8,0x3c7d517b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc819041,0xb9d78a76
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff17ed4,0x8695bbc0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c709e3f,0xe2ac5a64
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff18af9,0x388c8dea
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc911023,0xd1970f6c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff19726,0x58375d2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c94aadd,0x85f17e08
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1a35b,0xeb6fcb75
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8e5b4c,0x7b4968e4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1af99,0xf8138a1c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c97bf85,0xa4b69280
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1bbe0,0x84045cd4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc995386,0x352ef607
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1c82f,0x95281c6b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c900977,0x8010f8c9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1d487,0x3168b9aa
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9e016e,0x00a2643c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1e0e7,0x5eb44027
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc96fdd8,0x088cb6de
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1ed50,0x22fcd91d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc91df98,0x027bb78c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff1f9c1,0x8438ce4d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9bf524,0xa097af5c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2063b,0x88628cd6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8dc775,0x814a8494
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff212be,0x3578a819
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c93592d,0x2cfcaac9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff21f49,0x917ddc96
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c82a97e,0x9494a5ee
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff22bdd,0xa27912d1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8d34fb,0x5577d69e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2387a,0x6e756238
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c99b07e,0xb6c70573
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2451f,0xfb82140a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8acfcc,0x911ca996
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff251ce,0x4fb2a63f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8ac155,0xbef4f4a4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff25e85,0x711ece75
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c93e1a2,0x4ac31b2c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff26b45,0x65e27cdd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c82bd33,0x9940e9d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2780e,0x341ddf29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9e067c,0x05f9e76c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff284df,0xe1f56381
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9a4c3a,0x8c3f0d7e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff291ba,0x7591bb70
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc82cc72,0x28401cbc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff29e9d,0xf51fdee1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8612e8,0xafad1255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2ab8a,0x66d10f13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc995743,0x191690a7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2b87f,0xd0dad990
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc410adc,0xd6381aa4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2c57e,0x39771b2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc950145,0xa6eb5124
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2d285,0xa6e4030b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c900247,0x54db41d5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2df96,0x1f641589
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9d16cf,0xfbbce198
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2ecaf,0xa93e2f56
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c71ca0f,0x45d52383
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff2f9d2,0x4abd886b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc653c55,0x532bda93
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff306fe,0x0a31b715
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c86f46a,0xd23182e4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff31432,0xedeeb2fd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8959a3,0xf3f3fcd0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff32170,0xfc4cd831
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8a9ce7,0x8e18047c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff32eb8,0x3ba8ea32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9c45e8,0x3cb4f318
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff33c08,0xb26416ff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c932721,0x843659a6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff34962,0x66e3fa2d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc835a75,0x930881a4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff356c5,0x5f929ff1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8b5cee,0x5c4e4628
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff36431,0xa2de883b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8c3144,0xa06cb85e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff371a7,0x373aa9cb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc963aea,0xbf42eae2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff37f26,0x231e754a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc99f5ca,0x9eceb23c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff38cae,0x6d05d866
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9e958d,0x3c9904bd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff39a40,0x1b7140ef
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc99a9a5,0xfc8e2934
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3a7db,0x34e59ff7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc75e436,0xd661f5e3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3b57f,0xbfec6cf4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c954c66,0xe26fff18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3c32d,0xc313a8e5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9efff8,0x375d29c3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3d0e5,0x44ede173
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7fe8d0,0x8c284c71
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3dea6,0x4c123422
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8ada09,0x11f09ebc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3ec70,0xdf1c5175
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8af663,0x7b8c9bca
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff3fa45,0x04ac801c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc97d023,0xf956f9f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff40822,0xc367a024
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8bddf8,0xb6f4d048
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4160a,0x21f72e2a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc5ef369,0x1c309278
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff423fb,0x2709468a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc98462d,0xc0b314dd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff431f5,0xd950a897
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc81c7dd,0xe35f7998
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff43ffa,0x3f84b9d4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8880be,0x9704c002
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff44e08,0x6061892d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c489b7a,0x04ef80d0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff45c20,0x42a7d232
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc686419,0x82fb1f8e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff46a41,0xed1d0057
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9c944b,0xd1648a76
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4786d,0x668b3237
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9c20f0,0xed445733
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff486a2,0xb5c13cd0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c73c1a3,0xb69062f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff494e1,0xe192aed2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc83b289,0x5e499ea0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4a32a,0xf0d7d3de
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c99cb62,0xf3d1be56
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4b17d,0xea6db7d7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8125b8,0x7f2897f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4bfda,0xd5362a27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7d4397,0xafec42e2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4ce41,0xb817c114
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c905e29,0x690abd5d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4dcb2,0x99fddd0d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c98ecdb,0xbc6a7833
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4eb2d,0x81d8abff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc95257d,0x2e5d7a52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff4f9b2,0x769d2ca7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc94b309,0xd25957e3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff50841,0x7f4531ee
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7a249b,0x49b7465f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff516da,0xa2cf6642
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8f7685,0x69bd93ee
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5257d,0xe83f4eef
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc7c998d,0x43efef71
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5342b,0x569d4f82
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc807abe,0x1db13cac
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff542e2,0xf4f6ad27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c87926d,0x192d5f7e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff551a4,0xca5d920f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8d689c,0xefede59a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff56070,0xdde910d2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc90fb6e,0x168eebf0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff56f47,0x36b527da
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c99bb2c,0x011d93ad
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff57e27,0xdbe2c4cf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc90b98c,0x8a57b9c4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff58d12,0xd497c7fd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8295e1,0x5b9a1de8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff59c08,0x27ff07cc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc97e2ce,0xe467e60f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5ab07,0xdd485429
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c96324c,0x054647ad
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5ba11,0xfba87a03
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9b77a1,0x4c233e1a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5c926,0x8a5946b7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c3c4b1b,0x816986a2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5d845,0x90998b93
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9cd6a7,0xa8b45642
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5e76f,0x15ad2148
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9ba6f9,0x3080e65e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff5f6a3,0x20dceb71
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc89eadd,0xe3cdcf92
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff605e1,0xb976dc09
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc93e242,0x9b56de47
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6152a,0xe6cdf6f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9e4b3e,0x4ab84c27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6247e,0xb03a5585
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9383c1,0x7e40b497
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff633dd,0x1d1929fd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c984710,0xbeb964e5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff64346,0x34ccc320
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8c483c,0x759d8932
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff652b9,0xfebc8fb7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9ae3d5,0xc9a73e08
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff66238,0x82552225
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9bb609,0x87591c34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff671c1,0xc70833f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8e8732,0x586c6134
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff68155,0xd44ca973
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c6038ae,0x44f73e65
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff690f4,0xb19e9538
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c8804bd,0x9aeb445c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6a09e,0x667f3bcd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9bdd34,0x13b26456
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6b052,0xfa75173e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7a38f5,0x2c9a9d0e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6c012,0x750bdabf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc728956,0x67ff0b0d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6cfdc,0xddd47645
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9c7aa9,0xb6f17309
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6dfb2,0x3c651a2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc6bbe3a,0x683c88ab
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6ef92,0x98593ae5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc90b974,0x9e1ac8b2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff6ff7d,0xf9519484
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc883c0f,0x25860ef6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff70f74,0x66f42e87
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c59d644,0xd45aa65f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff71f75,0xe8ec5f74
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc816e47,0x86887a99
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff72f82,0x86ead08a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc920aa0,0x2cd62c72
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff73f9a,0x48a58174
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc90a8d9,0x6c65d53c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff74fbd,0x35d7cbfd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9047fd,0x618a6e1c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff75feb,0x564267c9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc902459,0x57316dd3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff77024,0xb1ab6e09
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9b7877,0x169147f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff78069,0x4fde5d3f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9866b8,0x0a02162c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff790b9,0x38ac1cf6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9349a8,0x62aadd3e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff7a114,0x73eb0187
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc841577,0xee04992f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff7b17b,0x0976cfdb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9bebb5,0x8468dc88
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff7c1ed,0x0130c132
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9f124c,0xd1164dd6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff7d26a,0x62ff86f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c91bddb,0xfb72b8b4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff7e2f3,0x36cf4e62
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c705d02,0xba15797e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff7f387,0x8491c491
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc807f11,0xcf9311ae
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff80427,0x543e1a12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc927c86,0x626d972b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff814d2,0xadd106d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c946437,0x0d151d4d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff82589,0x994cce13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9d4c1d,0xd41532d8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8364c,0x1eb941f7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c999b9a,0x31df2bd5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8471a,0x4623c7ad
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc88d684,0xa341cdfb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff857f4,0x179f5b21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc5ba748,0xf8b216d0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff868d9,0x9b4492ec
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ca01c83,0xb21584a3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff879ca,0xd931a436
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c85d2d7,0xd2db47bc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff88ac7,0xd98a6699
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9994c2,0xf37cb53a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff89bd0,0xa478580f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9d5395,0x4475202a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8ace5,0x422aa0db
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c96e9f1,0x56864b27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8be05,0xbad61778
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9ecb5e,0xfc43446e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8cf32,0x16b5448c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc70d55e,0x32e9e3aa
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8e06a,0x5e0866d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc97114a,0x6fc9b2e6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff8f1ae,0x99157736
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c85cc13,0xa2e3976c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff902fe,0xd0282c8a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9592ca,0x85fe3fd2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9145b,0x0b91ffc6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9dd679,0x2e582524
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff925c3,0x53aa2fe2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc83455f,0xa639db7f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff93737,0xb0cdc5e5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc675fc7,0x81b57ebc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff948b8,0x2b5f98e5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8dc3d6,0x797d2d99
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff95a44,0xcbc8520f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc764b7c,0x96a5f039
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff96bdd,0x9a7670b3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc5ba596,0x7f19c896
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff97d82,0x9fde4e50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9d185b,0x7c1b85d0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff98f33,0xe47a22a2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7cabda,0xa24c78ed
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9a0f1,0x70ca07ba
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9173bd,0x91cee632
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9b2bb,0x4d53fe0d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9dd84e,0x4df6d518
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9c491,0x82a3f090
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7c7c46,0xb071f2be
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9d674,0x194bb8d5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9516be,0xa3dd8233
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9e863,0x19e32323
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7824ca,0x78e64c6e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff9fa5e,0x8d07f29e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc84a9ce,0xaaf1face
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa0c66,0x7b5de565
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc935949,0x5d1cd533
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa1e7a,0xed8eb8bb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9c6618,0xee8be70e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa309b,0xec4a2d33
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c96305c,0x7ddc36ab
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa42c9,0x80460ad8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9aa780,0x589fb120
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa5503,0xb23e255d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9d2f6e,0xdb8d41e1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa674a,0x8af46052
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c650f56,0x30670366
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa799e,0x1330b358
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9bcb7e,0xcac563c6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa8bfe,0x53c12e59
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc94f867,0xb2ba15a8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffa9e6b,0x5579fdbf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c90fac9,0x0ef7fd31
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffab0e5,0x21356eba
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c889c31,0xdae94544
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffac36b,0xbfd3f37a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8f9234,0xcae76cd0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffad5ff,0x3a3c2774
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c97ef3b,0xb6b1b8e4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffae89f,0x995ad3ad
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c97a1cd,0x345dcc81
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffafb4c,0xe622f2ff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc94b2fc,0x0f315ecc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb0e07,0x298db666
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9bdef5,0x4c80e425
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb20ce,0x6c9a8952
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c94dd02,0x4a0756cc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb33a2,0xb84f15fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc62805e,0x3084d708
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb4684,0x15b749b1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc7f763d,0xe9df7c90
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb5972,0x8de5593a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9c71df,0xbbba6de3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb6c6e,0x29f1c52a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c92a8f3,0x52883f6e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb7f76,0xf2fb5e47
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc75584f,0x7e54ac3b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffb928c,0xf22749e4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9b7216,0x54cb65c6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffba5b0,0x30a1064a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9efcd3,0x0e54292e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffbb8e0,0xb79a6f1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc3f52d1,0xc9696205
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffbcc1e,0x904bc1d2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c823dd0,0x7a2d9e84
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffbdf69,0xc3f3a207
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc3c2623,0x60ea5b52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffbf2c2,0x5bd71e09
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9efdca,0x3f6b9c73
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc0628,0x6141b33d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8d8a5a,0xa1fbca34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc199b,0xdd85529c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c811065,0x895048dd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc2d1c,0xd9fa652c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc96e516,0x17c8a5d7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc40ab,0x5fffd07a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9b4537,0xe083c60a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc5447,0x78fafb22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c912f07,0x2493b5af
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc67f1,0x2e57d14b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c92884d,0xff483cad
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc7ba8,0x8988c933
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8e76bb,0xbe255559
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffc8f6d,0x9406e7b5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c71acbc,0x48805c44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffca340,0x5751c4db
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc87f2be,0xd10d08f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffcb720,0xdcef9069
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c7503cb,0xd1e949db
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffccb0f,0x2e6d1675
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc7d220f,0x86009093
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffcdf0b,0x555dc3fa
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc8dd83b,0x53829d72
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffcf315,0x5b5bab74
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9a08e9,0xb86dff57
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd072d,0x4a07897c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9cbc37,0x43797a9c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd1b53,0x2b08c968
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c955636,0x219a36ee
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd2f87,0x080d89f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9d487b,0x719d8578
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd43c8,0xeacaa1d6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c93db53,0xbf5a1614
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd5818,0xdcfba487
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c82ed02,0xd75b3706
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd6c76,0xe862e6d3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c5fe87a,0x4a8165a0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd80e3,0x16c98398
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc911ec1,0x8beddfe8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffd955d,0x71ff6075
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9a052d,0xbb9af6be
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffda9e6,0x03db3285
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9c2300,0x696db532
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffdbe7c,0xd63a8315
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9b76f1,0x926b8be4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffdd321,0xf301b460
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c92da57,0x78f018c2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffde7d5,0x641c0658
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9ca552,0x8e79ba8f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffdfc97,0x337b9b5f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc91a5cd,0x4f184b5c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe1167,0x6b197d17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc72b529,0xbd5c7f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe2646,0x14f5a129
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc97b627,0x817a1496
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe3b33,0x3b16ee12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc99f4a4,0x31fdc68a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe502e,0xe78b3ff6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c839e89,0x80a9cc8f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe6539,0x24676d76
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc863ff8,0x7522b734
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe7a51,0xfbc74c83
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c92d522,0xca0c8de2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffe8f79,0x77cdb740
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc910894,0x80b054b1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffea4af,0xa2a490da
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9e9c23,0x179c2893
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffeb9f4,0x867cca6e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c94832f,0x2293e4f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffecf48,0x2d8e67f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9c93f3,0xb411ad8c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffee4aa,0xa2188510
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c91c68d,0xa487568d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ffefa1b,0xee615a27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9dc7f4,0x86a4b6b0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff0f9c,0x1cb6412a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc932200,0x65181d45
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff252b,0x376bba97
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c93a1a5,0xbf0d8e43
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff3ac9,0x48dd7274
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc795a5a,0x3ed837de
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff5076,0x5b6e4540
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c99d3e1,0x2dd8a18b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff6632,0x798844f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c9fa37b,0x3539343e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff7bfd,0xad9cbe14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc9dbb12,0xd006350a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fff91d8,0x02243c89
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc612ea8,0xa779f689
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fffa7c1,0x819e90d8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c874853,0xf3a5931e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fffbdba,0x3692d514
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbc796773,0x15098eb6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fffd3c2,0x2b8f71f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c62eb74,0x966579e7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fffe9d9,0x6b2a23d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3c74a603,0x7442fde3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtisconstants:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ef00000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x40862e42,0xfefa39ef
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x01000000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x7f000000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x80000000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x43f00000,0x00000000 ! scaling 2^12 two96
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xfff00000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fdfffff,0xfffffff6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fc55555,0x721a1d14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fa55555,0x6e0896af
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x41371547,0x652b82fe ! scaling 2^12 invln2_256
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ea62e42,0xfee00000 ! scaling 2^(-12) ln2_256h
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3caa39ef,0x35793c76 ! scaling 2^(-12) ln2_256l
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! base set w/o scaling
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! .word 0x43300000,0x00000000 ! scaling two96
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! .word 0x40771547,0x652b82fe ! scaling invln2_256
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! .word 0x3f662e42,0xfee00000 ! scaling ln2_256h
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! .word 0x3d6a39ef,0x35793c76 ! scaling ln2_256l
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ox3ef 0x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define thresh 0x8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tiny 0x10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define huge 0x18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define signbit 0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define two96 0x28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define neginf 0x30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define one 0x38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define B1OFF 0x40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define B2OFF 0x48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define B3OFF 0x50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define invln2_256 0x58
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ln2_256h 0x60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ln2_256l 0x68
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! local storage indices
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define m2 STACK_BIAS-0x4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define m1 STACK_BIAS-0x8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define m0 STACK_BIAS-0xc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define jnk STACK_BIAS-0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sizeof temp storage - must be a multiple of 16 for V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmps 0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! register use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i0 n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i1 x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i2 stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i3 y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i4 stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i5 0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g1 TBL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l0 m0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l1 m1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l2 m2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l3 j0,oy0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l4 j1,oy1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l5 j2,oy2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l6 0x3e300000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l7 0x40862e41
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o0 py0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o1 py1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o2 py2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o3 scratch
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o4 scratch
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o5 0x40874910
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o7 0x7ff00000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f0 x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f10 x1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f20 x2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f36 0x3ef0...
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f38 thresh
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f40 tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f42 huge
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f44 signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f46 two96
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f48 neginf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f50 one
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f52 B1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f54 B2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f56 B3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f58 invln2_256
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f60 ln2_256h
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f62 ln2_256l
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define BOUNDRY %f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define THRESH %f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define TINY %f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define HUGE %f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define SIGNBIT %f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define TWO96 %f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define NEGINF %f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ONE %f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define B1 %f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define B2 %f54
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define B3 %f56
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define INVLN2_256 %f58
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define LN2_256H %f60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define LN2_256L %f62
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ENTRY(__vexp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis save %sp,-SA(MINFRAME)-tmps,%sp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SETUP(l7)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(l7,constants,o3)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(l7,TBL,o0)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis wr %g0,0x82,%asi ! set %asi for non-faulting loads
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x80000000),%i5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3e300000),%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x40862e41),%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis or %l7,%lo(0x40862e41),%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x40874910),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis or %o5,%lo(0x40874910),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7ff00000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+ox3ef],BOUNDRY
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+thresh],THRESH
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+tiny],TINY
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+huge],HUGE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+signbit],SIGNBIT
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+two96],TWO96
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+neginf],NEGINF
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+one],ONE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+B1OFF],B1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+B2OFF],B2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+B3OFF],B3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+invln2_256],INVLN2_256
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+ln2_256h],LN2_256H
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+ln2_256l],LN2_256L
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,3,%i2 ! scale strides
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i4,3,%i4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,jnk,%l3 ! precondition loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,jnk,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,jnk,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l0 ! hx = *x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],%f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,%i5,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! -- 16 byte aligned
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.loop0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l1 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%l6,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l7,%l0,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f0,SIGNBIT,%f2 ! get sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %o3,%o4,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o0 ! py0 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.range0 ! if hx < 0x3e300000 or > 0x40862e41
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,%i5,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f2,TWO96,%f2 ! used to strip least sig bits
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,INVLN2_256,%f4 ! x/ (ln2/256) , creating k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.loop1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%l6,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l7,%l1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f10,SIGNBIT,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %o3,%o4,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o1 ! py1 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.range1 ! if hx < 0x3e300000 or > 0x40862e41
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f12,TWO96,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,INVLN2_256,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.loop2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%l6,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l7,%l2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f20,SIGNBIT,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,INVLN2_256,%f24 ! okay to put this here; for alignment
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %o3,%o4,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.range2 ! if hx < 0x3e300000 or > 0x40862e41
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f22,TWO96,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4 ! creating k+j/256, sra to zero bits
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o2 ! py2 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f22,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! BUBBLE USIII
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f2,%f8 ! creating k+j/256: sll
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%l3] ! store previous loop x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f12,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f7,[%l3+4] ! store previous loop x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f24,%f22,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%l4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! BUBBLE USIII
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f8,LN2_256H,%f2 ! closest LN2_256 to x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f17,[%l4+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,LN2_256H,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%l5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,LN2_256H,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f27,[%l5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! BUBBLE USIII
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f2,%f0 ! r = x - p*LN2_256H
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f8,LN2_256L,%f4 ! closest LN2_256 to x , added prec
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,LN2_256L,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f22,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,LN2_256L,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! BUBBLE USIII
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0 ! r -= p*LN2_256L
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!!!!!!!!!!!!!!!!!!! New polynomial reorder starts here
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! Alternate polynomial grouping allowing non-sequential calc of p
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! OLD : p = r * ( 1 + r * ( B1 + r * ( B2 + r * B3) ) )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! NEW : p = r * [ (1+r*B1) + (r*r) * ( B2 + r * B3) ) ]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! let SLi Ri SRi be accumulators
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,B3,%f2 ! SR1 = r1 * B3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f8,%f8 ! convert k+j/256 to int
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%fp+m0] ! store k, to shift return/use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,B3,%f12 ! SR2 = r2 * B3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f18,%f18 ! convert k+j/256 to int
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%fp+m1] ! store k, to shift return/use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,B3,%f22 ! SR3 = r3 * B3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f28,%f28 ! convert k+j/256 to int
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f28,[%fp+m2] ! store k, to shift return/use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f4 ! R1 = r1 * r1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f14 ! R2 = r2 * r2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f2,B2,%f2 ! SR1 += B2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f24 ! R3 = r3 * r3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f12,B2,%f12 ! SR2 += B2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,B2,%f22 ! SR3 += B2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,B1,%f6 ! SL1 = r1 * B1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,B1,%f32 ! SL2 = r2 * B1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,NEGINF,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! best here for RAW BYPASS
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+m0],%l0 ! get nonshifted k into intreg
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,B1,%f34 ! SL3 = r3 * B1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,NEGINF,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+m1],%l1 ! get nonshifted k into intreg
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f2,%f4 ! R1 = R1 * SR1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,NEGINF,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+m2],%l2 ! get nonshifted k into intreg
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f12,%f14 ! R2 = R2 * SR2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,ONE,%f6 ! SL1 += 1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f22,%f24 ! R3 = R3 * SR3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,ONE,%f32 ! SL2 += 1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l0,8,%l3 ! shift k tobe offset 256-8byte
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,ONE,%f34 ! SL3 += 1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l1,8,%l4 ! shift k tobe offset 256-8byte
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l2,8,%l5 ! shift k tobe offset 256-8byte
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! BUBBLE in USIII
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l3,0xff0,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,0xff0,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6 ! R1 = SL1 + R1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l3],%f4 ! tbl[j]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%l3 ! inc j
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,0xff0,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f14,%f32 ! R2 = SL2 + R2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l4],%f14 ! tbl[j]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l4,8,%l4 ! inc j
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l0,20,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f24,%f34 ! R3 = SL3 + R3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l5],%f24 ! tbl[j]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,8,%l5 ! inc j
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l1,20,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! BUBBLE in USIII
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l4],%f16 ! tbl[j+1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,1021,%o3 ! inc j
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f6,%f0 ! p1 = r1 * R1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l3],%f6 ! tbl[j+1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l1,1021,%l1 ! inc j
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l2,20,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f32,%f10 ! p2 = r2 * R2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l5],%f26 ! tbl[j+1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l2,1021,%l2 ! inc j
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f34,%f20 ! p3 = r3 * R3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!!!!!!!!!!!!!!!!!!! poly-reorder - ends here
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f0 ! start exp(x) = exp(r) * tbl[j]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f6,%f6 ! cont exp(x) : apply tbl[j] high bits
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6 ! cont exp(x) : apply tbl[j+1] low bits
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,%i5,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis or %o3,%l1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! -- 16 byte aligned
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %o4,%l2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.small
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f8,%f6 ! done exp(x) : apply 2^k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f18,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f26,%f28,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.small:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis tst %o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pt %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f8,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,BOUNDRY,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f6,TINY,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis tst %l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pt %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f18,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,BOUNDRY,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,TINY,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis tst %l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pt %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f26,%f28,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f26,BOUNDRY,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,TINY,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.endloop2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f12,TWO96,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,INVLN2_256,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f12,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,LN2_256H,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,LN2_256L,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,B3,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%fp+m1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f12,B2,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,B1,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,NEGINF,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+m1],%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,ONE,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l1,8,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,0xff0,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f14,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%o4],%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,8,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l1,20,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%o4],%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %l1,1021,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f32,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f30,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f30,%f14,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pt %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f30,%f18,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f30,BOUNDRY,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f30,TINY,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f30,[%o1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f31,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.endloop1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f2,TWO96,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,INVLN2_256,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f2,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f8,LN2_256H,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f2,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f8,LN2_256L,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,B3,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f8,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%fp+m0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f2,B2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,B1,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,NEGINF,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+m0],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,ONE,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l0,8,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,0xff0,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f4,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%o4],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,8,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l0,20,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%o4],%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %o3,1021,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f32,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f30,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f30,%f4,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pt %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f30,%f8,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f30,BOUNDRY,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f30,TINY,%f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f30,[%o0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f31,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.endloop0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%l3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f7,[%l3+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%l4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f17,[%l4+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%l5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f27,[%l5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ret
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis restore
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.range0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,a,pt %icc,3f ! if x is tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,ONE,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,1f ! if x is huge, inf, nan
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f0,THRESH
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbg,a,pt %fcc0,3f ! if x is huge and positive
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld HUGE,HUGE,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! x is near the extremes but within range; return to the loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,%i5,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f2,TWO96,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.loop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,INVLN2_256,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,2f ! if x is finite
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzero %f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f0,NEGINF
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovdne %fcc0,%f0,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,3f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f4,%f4 ! x*x or zero*zero
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd HUGE,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f0,ONE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovdl %fcc0,TINY,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f4,%f4 ! huge*huge or tiny*tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%o0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,%i5,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd %f10,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f5,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.range1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,a,pt %icc,3f ! if x is tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,ONE,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,1f ! if x is huge, inf, nan
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f10,THRESH
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbg,a,pt %fcc0,3f ! if x is huge and positive
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld HUGE,HUGE,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! x is near the extremes but within range; return to the loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f12,TWO96,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.loop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,INVLN2_256,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,2f ! if x is finite
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzero %f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f10,NEGINF
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovdne %fcc0,%f10,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,3f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f14,%f14 ! x*x or zero*zero
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd HUGE,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f10,ONE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovdl %fcc0,TINY,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f14,%f14 ! huge*huge or tiny*tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f14,[%o1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd %f20,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f15,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.range2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,a,pt %icc,3f ! if x is tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,ONE,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,1f ! if x is huge, inf, nan
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f20,THRESH
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbg,a,pt %fcc0,3f ! if x is huge and positive
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld HUGE,HUGE,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! x is near the extremes but within range; return to the loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.cont
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,2f ! if x is finite
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzero %f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f20,NEGINF
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovdne %fcc0,%f20,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,3f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f24,%f24 ! x*x or zero*zero
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd HUGE,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpd %fcc0,%f20,ONE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovdl %fcc0,TINY,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f24,%f24 ! huge*huge or tiny*tiny
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f24,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f25,[%i3+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis SET_SIZE(__vexp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis