.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global sin sin: /* 801D4484 001D00E4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4488 001D00E8 7C 08 02 A6 */ mflr r0 /* 801D448C 001D00EC 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha /* 801D4490 001D00F0 C8 42 95 C8 */ lfd f2, lbl_80641BC8-_SDA2_BASE_(r2) /* 801D4494 001D00F4 D8 21 00 08 */ stfd f1, 8(r1) /* 801D4498 001D00F8 90 01 00 24 */ stw r0, 0x24(r1) /* 801D449C 001D00FC 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l /* 801D44A0 001D0100 80 61 00 08 */ lwz r3, 8(r1) /* 801D44A4 001D0104 54 63 00 7E */ clrlwi r3, r3, 1 /* 801D44A8 001D0108 7C 03 00 00 */ cmpw r3, r0 /* 801D44AC 001D010C 41 81 00 10 */ bgt lbl_801D44BC /* 801D44B0 001D0110 38 60 00 00 */ li r3, 0 /* 801D44B4 001D0114 4B FF F6 41 */ bl __kernel_sin /* 801D44B8 001D0118 48 00 00 94 */ b lbl_801D454C lbl_801D44BC: /* 801D44BC 001D011C 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D44C0 001D0120 7C 03 00 00 */ cmpw r3, r0 /* 801D44C4 001D0124 41 80 00 0C */ blt lbl_801D44D0 /* 801D44C8 001D0128 FC 21 08 28 */ fsub f1, f1, f1 /* 801D44CC 001D012C 48 00 00 80 */ b lbl_801D454C lbl_801D44D0: /* 801D44D0 001D0130 38 61 00 10 */ addi r3, r1, 0x10 /* 801D44D4 001D0134 4B FF DA 6D */ bl __ieee754_rem_pio2 /* 801D44D8 001D0138 54 60 07 BE */ clrlwi r0, r3, 0x1e /* 801D44DC 001D013C 2C 00 00 01 */ cmpwi r0, 1 /* 801D44E0 001D0140 41 82 00 34 */ beq lbl_801D4514 /* 801D44E4 001D0144 40 80 00 10 */ bge lbl_801D44F4 /* 801D44E8 001D0148 2C 00 00 00 */ cmpwi r0, 0 /* 801D44EC 001D014C 40 80 00 14 */ bge lbl_801D4500 /* 801D44F0 001D0150 48 00 00 4C */ b lbl_801D453C lbl_801D44F4: /* 801D44F4 001D0154 2C 00 00 03 */ cmpwi r0, 3 /* 801D44F8 001D0158 40 80 00 44 */ bge lbl_801D453C /* 801D44FC 001D015C 48 00 00 28 */ b lbl_801D4524 lbl_801D4500: /* 801D4500 001D0160 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4504 001D0164 38 60 00 01 */ li r3, 1 /* 801D4508 001D0168 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D450C 001D016C 4B FF F5 E9 */ bl __kernel_sin /* 801D4510 001D0170 48 00 00 3C */ b lbl_801D454C lbl_801D4514: /* 801D4514 001D0174 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4518 001D0178 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D451C 001D017C 4B FF DD BD */ bl __kernel_cos /* 801D4520 001D0180 48 00 00 2C */ b lbl_801D454C lbl_801D4524: /* 801D4524 001D0184 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4528 001D0188 38 60 00 01 */ li r3, 1 /* 801D452C 001D018C C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D4530 001D0190 4B FF F5 C5 */ bl __kernel_sin /* 801D4534 001D0194 FC 20 08 50 */ fneg f1, f1 /* 801D4538 001D0198 48 00 00 14 */ b lbl_801D454C lbl_801D453C: /* 801D453C 001D019C C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4540 001D01A0 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D4544 001D01A4 4B FF DD 95 */ bl __kernel_cos /* 801D4548 001D01A8 FC 20 08 50 */ fneg f1, f1 lbl_801D454C: /* 801D454C 001D01AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4550 001D01B0 7C 08 03 A6 */ mtlr r0 /* 801D4554 001D01B4 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4558 001D01B8 4E 80 00 20 */ blr