tp/asm/SComponent/c/c_math.s

393 lines
19 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802675e4
.global cM_rad2s
cM_rad2s:
/* 802675E4 00264524 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802675E8 00264528 7C 08 02 A6 */ mflr r0
/* 802675EC 0026452C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802675F0 00264530 C8 42 B6 A8 */ lfd f2, lbl_804550A8-_SDA2_BASE_(r2)
/* 802675F4 00264534 48 10 51 6D */ bl func_8036C760
/* 802675F8 00264538 FC 20 08 18 */ frsp f1, f1
/* 802675FC 0026453C C0 02 B6 B0 */ lfs f0, lbl_804550B0-_SDA2_BASE_(r2)
/* 80267600 00264540 EC 00 00 72 */ fmuls f0, f0, f1
/* 80267604 00264544 FC 00 00 1E */ fctiwz f0, f0
/* 80267608 00264548 D8 01 00 08 */ stfd f0, 8(r1)
/* 8026760C 0026454C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80267610 00264550 2C 03 80 00 */ cmpwi r3, -32768
/* 80267614 00264554 40 80 00 0C */ bge lbl_80267620
/* 80267618 00264558 3C 63 00 01 */ addis r3, r3, 1
/* 8026761C 0026455C 48 00 00 10 */ b lbl_8026762C
lbl_80267620:
/* 80267620 00264560 2C 03 7F FF */ cmpwi r3, 0x7fff
/* 80267624 00264564 40 81 00 08 */ ble lbl_8026762C
/* 80267628 00264568 3C 63 FF FF */ addis r3, r3, 0xffff
lbl_8026762C:
/* 8026762C 0026456C 7C 63 07 34 */ extsh r3, r3
/* 80267630 00264570 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80267634 00264574 7C 08 03 A6 */ mtlr r0
/* 80267638 00264578 38 21 00 10 */ addi r1, r1, 0x10
/* 8026763C 0026457C 4E 80 00 20 */ blr
.global U_GetAtanTable
U_GetAtanTable:
/* 80267640 00264580 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80267644 00264584 C0 62 B6 B4 */ lfs f3, lbl_804550B4-_SDA2_BASE_(r2)
/* 80267648 00264588 EC 01 10 24 */ fdivs f0, f1, f2
/* 8026764C 0026458C EC 03 00 32 */ fmuls f0, f3, f0
/* 80267650 00264590 FC 00 00 1E */ fctiwz f0, f0
/* 80267654 00264594 D8 01 00 08 */ stfd f0, 8(r1)
/* 80267658 00264598 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8026765C 0026459C 54 00 08 3C */ slwi r0, r0, 1
/* 80267660 002645A0 3C 60 80 3C */ lis r3, lbl_803C3778@ha
/* 80267664 002645A4 38 63 37 78 */ addi r3, r3, lbl_803C3778@l
/* 80267668 002645A8 7C 63 02 2E */ lhzx r3, r3, r0
/* 8026766C 002645AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80267670 002645B0 4E 80 00 20 */ blr
.global cM_atan2s
cM_atan2s:
/* 80267674 002645B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80267678 002645B8 7C 08 02 A6 */ mflr r0
/* 8026767C 002645BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80267680 002645C0 FC 80 08 90 */ fmr f4, f1
/* 80267684 002645C4 FC 00 22 10 */ fabs f0, f4
/* 80267688 002645C8 FC 00 00 18 */ frsp f0, f0
/* 8026768C 002645CC C0 6D 8C 00 */ lfs f3, lbl_80451180-_SDA_BASE_(r13)
/* 80267690 002645D0 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 80267694 002645D4 40 80 00 28 */ bge lbl_802676BC
/* 80267698 002645D8 C0 02 B6 B8 */ lfs f0, lbl_804550B8-_SDA2_BASE_(r2)
/* 8026769C 002645DC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802676A0 002645E0 4C 41 13 82 */ cror 2, 1, 2
/* 802676A4 002645E4 40 82 00 0C */ bne lbl_802676B0
/* 802676A8 002645E8 38 60 00 00 */ li r3, 0
/* 802676AC 002645EC 48 00 01 54 */ b lbl_80267800
lbl_802676B0:
/* 802676B0 002645F0 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 802676B4 002645F4 38 63 80 00 */ addi r3, r3, 0x00008000@l
/* 802676B8 002645F8 48 00 01 48 */ b lbl_80267800
lbl_802676BC:
/* 802676BC 002645FC FC 00 12 10 */ fabs f0, f2
/* 802676C0 00264600 FC 00 00 18 */ frsp f0, f0
/* 802676C4 00264604 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 802676C8 00264608 40 80 00 28 */ bge lbl_802676F0
/* 802676CC 0026460C C0 02 B6 B8 */ lfs f0, lbl_804550B8-_SDA2_BASE_(r2)
/* 802676D0 00264610 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802676D4 00264614 4C 41 13 82 */ cror 2, 1, 2
/* 802676D8 00264618 40 82 00 0C */ bne lbl_802676E4
/* 802676DC 0026461C 38 60 40 00 */ li r3, 0x4000
/* 802676E0 00264620 48 00 01 20 */ b lbl_80267800
lbl_802676E4:
/* 802676E4 00264624 3C 60 00 01 */ lis r3, 0x0000C000@ha
/* 802676E8 00264628 38 63 C0 00 */ addi r3, r3, 0x0000C000@l
/* 802676EC 0026462C 48 00 01 14 */ b lbl_80267800
lbl_802676F0:
/* 802676F0 00264630 C0 02 B6 B8 */ lfs f0, lbl_804550B8-_SDA2_BASE_(r2)
/* 802676F4 00264634 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802676F8 00264638 4C 41 13 82 */ cror 2, 1, 2
/* 802676FC 0026463C 40 82 00 7C */ bne lbl_80267778
/* 80267700 00264640 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80267704 00264644 4C 41 13 82 */ cror 2, 1, 2
/* 80267708 00264648 40 82 00 34 */ bne lbl_8026773C
/* 8026770C 0026464C FC 02 20 40 */ fcmpo cr0, f2, f4
/* 80267710 00264650 4C 41 13 82 */ cror 2, 1, 2
/* 80267714 00264654 40 82 00 10 */ bne lbl_80267724
/* 80267718 00264658 4B FF FF 29 */ bl U_GetAtanTable
/* 8026771C 0026465C 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80267720 00264660 48 00 00 E0 */ b lbl_80267800
lbl_80267724:
/* 80267724 00264664 FC 20 10 90 */ fmr f1, f2
/* 80267728 00264668 FC 40 20 90 */ fmr f2, f4
/* 8026772C 0026466C 4B FF FF 15 */ bl U_GetAtanTable
/* 80267730 00264670 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80267734 00264674 20 60 40 00 */ subfic r3, r0, 0x4000
/* 80267738 00264678 48 00 00 C8 */ b lbl_80267800
lbl_8026773C:
/* 8026773C 0026467C FC 40 10 50 */ fneg f2, f2
/* 80267740 00264680 FC 02 20 40 */ fcmpo cr0, f2, f4
/* 80267744 00264684 40 80 00 1C */ bge lbl_80267760
/* 80267748 00264688 FC 20 10 90 */ fmr f1, f2
/* 8026774C 0026468C FC 40 20 90 */ fmr f2, f4
/* 80267750 00264690 4B FF FE F1 */ bl U_GetAtanTable
/* 80267754 00264694 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80267758 00264698 38 63 40 00 */ addi r3, r3, 0x4000
/* 8026775C 0026469C 48 00 00 A4 */ b lbl_80267800
lbl_80267760:
/* 80267760 002646A0 4B FF FE E1 */ bl U_GetAtanTable
/* 80267764 002646A4 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 80267768 002646A8 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 8026776C 002646AC 38 03 80 00 */ addi r0, r3, 0x00008000@l
/* 80267770 002646B0 7C 64 00 50 */ subf r3, r4, r0
/* 80267774 002646B4 48 00 00 8C */ b lbl_80267800
lbl_80267778:
/* 80267778 002646B8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026777C 002646BC 40 80 00 4C */ bge lbl_802677C8
/* 80267780 002646C0 FC 02 20 40 */ fcmpo cr0, f2, f4
/* 80267784 002646C4 4C 40 13 82 */ cror 2, 0, 2
/* 80267788 002646C8 40 82 00 20 */ bne lbl_802677A8
/* 8026778C 002646CC FC 20 20 50 */ fneg f1, f4
/* 80267790 002646D0 FC 40 10 50 */ fneg f2, f2
/* 80267794 002646D4 4B FF FE AD */ bl U_GetAtanTable
/* 80267798 002646D8 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8026779C 002646DC 3C 63 00 01 */ addis r3, r3, 1
/* 802677A0 002646E0 38 63 80 00 */ addi r3, r3, -32768
/* 802677A4 002646E4 48 00 00 5C */ b lbl_80267800
lbl_802677A8:
/* 802677A8 002646E8 FC 20 10 50 */ fneg f1, f2
/* 802677AC 002646EC FC 40 20 50 */ fneg f2, f4
/* 802677B0 002646F0 4B FF FE 91 */ bl U_GetAtanTable
/* 802677B4 002646F4 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 802677B8 002646F8 3C 60 00 01 */ lis r3, 0x0000C000@ha
/* 802677BC 002646FC 38 03 C0 00 */ addi r0, r3, 0x0000C000@l
/* 802677C0 00264700 7C 64 00 50 */ subf r3, r4, r0
/* 802677C4 00264704 48 00 00 3C */ b lbl_80267800
lbl_802677C8:
/* 802677C8 00264708 FC 00 20 50 */ fneg f0, f4
/* 802677CC 0026470C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802677D0 00264710 40 80 00 20 */ bge lbl_802677F0
/* 802677D4 00264714 FC 20 10 90 */ fmr f1, f2
/* 802677D8 00264718 FC 40 00 90 */ fmr f2, f0
/* 802677DC 0026471C 4B FF FE 65 */ bl U_GetAtanTable
/* 802677E0 00264720 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 802677E4 00264724 3C 63 00 01 */ addis r3, r3, 1
/* 802677E8 00264728 38 63 C0 00 */ addi r3, r3, -16384
/* 802677EC 0026472C 48 00 00 14 */ b lbl_80267800
lbl_802677F0:
/* 802677F0 00264730 FC 20 00 90 */ fmr f1, f0
/* 802677F4 00264734 4B FF FE 4D */ bl U_GetAtanTable
/* 802677F8 00264738 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 802677FC 0026473C 7C 60 00 D0 */ neg r3, r0
lbl_80267800:
/* 80267800 00264740 7C 63 07 34 */ extsh r3, r3
/* 80267804 00264744 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80267808 00264748 7C 08 03 A6 */ mtlr r0
/* 8026780C 0026474C 38 21 00 10 */ addi r1, r1, 0x10
/* 80267810 00264750 4E 80 00 20 */ blr
.global cM_atan2f
cM_atan2f:
/* 80267814 00264754 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80267818 00264758 7C 08 02 A6 */ mflr r0
/* 8026781C 0026475C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80267820 00264760 4B FF FE 55 */ bl cM_atan2s
/* 80267824 00264764 7C 60 07 34 */ extsh r0, r3
/* 80267828 00264768 C8 22 B6 C0 */ lfd f1, lbl_804550C0-_SDA2_BASE_(r2)
/* 8026782C 0026476C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80267830 00264770 90 01 00 0C */ stw r0, 0xc(r1)
/* 80267834 00264774 3C 00 43 30 */ lis r0, 0x4330
/* 80267838 00264778 90 01 00 08 */ stw r0, 8(r1)
/* 8026783C 0026477C C8 01 00 08 */ lfd f0, 8(r1)
/* 80267840 00264780 EC 20 08 28 */ fsubs f1, f0, f1
/* 80267844 00264784 C0 02 B6 BC */ lfs f0, lbl_804550BC-_SDA2_BASE_(r2)
/* 80267848 00264788 EC 20 00 72 */ fmuls f1, f0, f1
/* 8026784C 0026478C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80267850 00264790 7C 08 03 A6 */ mtlr r0
/* 80267854 00264794 38 21 00 10 */ addi r1, r1, 0x10
/* 80267858 00264798 4E 80 00 20 */ blr
.global cM_initRnd
cM_initRnd:
/* 8026785C 0026479C 90 6D 8B E8 */ stw r3, lbl_80451168-_SDA_BASE_(r13)
/* 80267860 002647A0 90 8D 8B EC */ stw r4, lbl_8045116C-_SDA_BASE_(r13)
/* 80267864 002647A4 90 AD 8B F0 */ stw r5, lbl_80451170-_SDA_BASE_(r13)
/* 80267868 002647A8 4E 80 00 20 */ blr
.global cM_rnd
cM_rnd:
/* 8026786C 002647AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80267870 002647B0 7C 08 02 A6 */ mflr r0
/* 80267874 002647B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80267878 002647B8 80 0D 8B E8 */ lwz r0, lbl_80451168-_SDA_BASE_(r13)
/* 8026787C 002647BC 1C 80 00 AB */ mulli r4, r0, 0xab
/* 80267880 002647C0 38 60 76 3D */ li r3, 0x763d
/* 80267884 002647C4 7C 04 1B D6 */ divw r0, r4, r3
/* 80267888 002647C8 7C 00 19 D6 */ mullw r0, r0, r3
/* 8026788C 002647CC 7C C0 20 50 */ subf r6, r0, r4
/* 80267890 002647D0 90 CD 8B E8 */ stw r6, lbl_80451168-_SDA_BASE_(r13)
/* 80267894 002647D4 80 0D 8B EC */ lwz r0, lbl_8045116C-_SDA_BASE_(r13)
/* 80267898 002647D8 1C 80 00 AC */ mulli r4, r0, 0xac
/* 8026789C 002647DC 38 60 76 63 */ li r3, 0x7663
/* 802678A0 002647E0 7C 04 1B D6 */ divw r0, r4, r3
/* 802678A4 002647E4 7C 00 19 D6 */ mullw r0, r0, r3
/* 802678A8 002647E8 7C A0 20 50 */ subf r5, r0, r4
/* 802678AC 002647EC 90 AD 8B EC */ stw r5, lbl_8045116C-_SDA_BASE_(r13)
/* 802678B0 002647F0 80 0D 8B F0 */ lwz r0, lbl_80451170-_SDA_BASE_(r13)
/* 802678B4 002647F4 1C 80 00 AA */ mulli r4, r0, 0xaa
/* 802678B8 002647F8 38 60 76 73 */ li r3, 0x7673
/* 802678BC 002647FC 7C 04 1B D6 */ divw r0, r4, r3
/* 802678C0 00264800 7C 00 19 D6 */ mullw r0, r0, r3
/* 802678C4 00264804 7C 00 20 50 */ subf r0, r0, r4
/* 802678C8 00264808 90 0D 8B F0 */ stw r0, lbl_80451170-_SDA_BASE_(r13)
/* 802678CC 0026480C C8 82 B6 C0 */ lfd f4, lbl_804550C0-_SDA2_BASE_(r2)
/* 802678D0 00264810 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802678D4 00264814 90 01 00 0C */ stw r0, 0xc(r1)
/* 802678D8 00264818 3C 60 43 30 */ lis r3, 0x4330
/* 802678DC 0026481C 90 61 00 08 */ stw r3, 8(r1)
/* 802678E0 00264820 C8 01 00 08 */ lfd f0, 8(r1)
/* 802678E4 00264824 EC 20 20 28 */ fsubs f1, f0, f4
/* 802678E8 00264828 C0 02 B6 C8 */ lfs f0, lbl_804550C8-_SDA2_BASE_(r2)
/* 802678EC 0026482C EC 61 00 24 */ fdivs f3, f1, f0
/* 802678F0 00264830 6C C0 80 00 */ xoris r0, r6, 0x8000
/* 802678F4 00264834 90 01 00 14 */ stw r0, 0x14(r1)
/* 802678F8 00264838 90 61 00 10 */ stw r3, 0x10(r1)
/* 802678FC 0026483C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80267900 00264840 EC 20 20 28 */ fsubs f1, f0, f4
/* 80267904 00264844 C0 02 B6 CC */ lfs f0, lbl_804550CC-_SDA2_BASE_(r2)
/* 80267908 00264848 EC 41 00 24 */ fdivs f2, f1, f0
/* 8026790C 0026484C 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 80267910 00264850 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80267914 00264854 90 61 00 18 */ stw r3, 0x18(r1)
/* 80267918 00264858 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8026791C 0026485C EC 20 20 28 */ fsubs f1, f0, f4
/* 80267920 00264860 C0 02 B6 D0 */ lfs f0, lbl_804550D0-_SDA2_BASE_(r2)
/* 80267924 00264864 EC 01 00 24 */ fdivs f0, f1, f0
/* 80267928 00264868 EC 02 00 2A */ fadds f0, f2, f0
/* 8026792C 0026486C EC 23 00 2A */ fadds f1, f3, f0
/* 80267930 00264870 C8 42 B6 D8 */ lfd f2, lbl_804550D8-_SDA2_BASE_(r2)
/* 80267934 00264874 48 10 4E 2D */ bl func_8036C760
/* 80267938 00264878 FC 00 08 18 */ frsp f0, f1
/* 8026793C 0026487C FC 00 02 10 */ fabs f0, f0
/* 80267940 00264880 FC 20 00 18 */ frsp f1, f0
/* 80267944 00264884 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80267948 00264888 7C 08 03 A6 */ mtlr r0
/* 8026794C 0026488C 38 21 00 20 */ addi r1, r1, 0x20
/* 80267950 00264890 4E 80 00 20 */ blr
.global cM_rndF
cM_rndF:
/* 80267954 00264894 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80267958 00264898 7C 08 02 A6 */ mflr r0
/* 8026795C 0026489C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80267960 002648A0 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80267964 002648A4 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 80267968 002648A8 FF E0 08 90 */ fmr f31, f1
/* 8026796C 002648AC 4B FF FF 01 */ bl cM_rnd
/* 80267970 002648B0 EC 3F 00 72 */ fmuls f1, f31, f1
/* 80267974 002648B4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 80267978 002648B8 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8026797C 002648BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80267980 002648C0 7C 08 03 A6 */ mtlr r0
/* 80267984 002648C4 38 21 00 20 */ addi r1, r1, 0x20
/* 80267988 002648C8 4E 80 00 20 */ blr
.global cM_rndFX
cM_rndFX:
/* 8026798C 002648CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80267990 002648D0 7C 08 02 A6 */ mflr r0
/* 80267994 002648D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80267998 002648D8 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8026799C 002648DC F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 802679A0 002648E0 FF E0 08 90 */ fmr f31, f1
/* 802679A4 002648E4 4B FF FE C9 */ bl cM_rnd
/* 802679A8 002648E8 C0 02 B6 E4 */ lfs f0, lbl_804550E4-_SDA2_BASE_(r2)
/* 802679AC 002648EC EC 01 00 28 */ fsubs f0, f1, f0
/* 802679B0 002648F0 EC 3F 00 32 */ fmuls f1, f31, f0
/* 802679B4 002648F4 C0 02 B6 E0 */ lfs f0, lbl_804550E0-_SDA2_BASE_(r2)
/* 802679B8 002648F8 EC 20 00 72 */ fmuls f1, f0, f1
/* 802679BC 002648FC E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 802679C0 00264900 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 802679C4 00264904 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802679C8 00264908 7C 08 03 A6 */ mtlr r0
/* 802679CC 0026490C 38 21 00 20 */ addi r1, r1, 0x20
/* 802679D0 00264910 4E 80 00 20 */ blr
/* 802679D4 00264914 90 6D 8B F4 */ stw r3, lbl_80451174-_SDA_BASE_(r13)
/* 802679D8 00264918 90 8D 8B F8 */ stw r4, lbl_80451178-_SDA_BASE_(r13)
/* 802679DC 0026491C 90 AD 8B FC */ stw r5, lbl_8045117C-_SDA_BASE_(r13)
/* 802679E0 00264920 4E 80 00 20 */ blr
.global cM_rnd2
cM_rnd2:
/* 802679E4 00264924 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802679E8 00264928 7C 08 02 A6 */ mflr r0
/* 802679EC 0026492C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802679F0 00264930 80 0D 8B F4 */ lwz r0, lbl_80451174-_SDA_BASE_(r13)
/* 802679F4 00264934 1C 80 00 AB */ mulli r4, r0, 0xab
/* 802679F8 00264938 38 60 76 3D */ li r3, 0x763d
/* 802679FC 0026493C 7C 04 1B D6 */ divw r0, r4, r3
/* 80267A00 00264940 7C 00 19 D6 */ mullw r0, r0, r3
/* 80267A04 00264944 7C C0 20 50 */ subf r6, r0, r4
/* 80267A08 00264948 90 CD 8B F4 */ stw r6, lbl_80451174-_SDA_BASE_(r13)
/* 80267A0C 0026494C 80 0D 8B F8 */ lwz r0, lbl_80451178-_SDA_BASE_(r13)
/* 80267A10 00264950 1C 80 00 AC */ mulli r4, r0, 0xac
/* 80267A14 00264954 38 60 76 63 */ li r3, 0x7663
/* 80267A18 00264958 7C 04 1B D6 */ divw r0, r4, r3
/* 80267A1C 0026495C 7C 00 19 D6 */ mullw r0, r0, r3
/* 80267A20 00264960 7C A0 20 50 */ subf r5, r0, r4
/* 80267A24 00264964 90 AD 8B F8 */ stw r5, lbl_80451178-_SDA_BASE_(r13)
/* 80267A28 00264968 80 0D 8B FC */ lwz r0, lbl_8045117C-_SDA_BASE_(r13)
/* 80267A2C 0026496C 1C 80 00 AA */ mulli r4, r0, 0xaa
/* 80267A30 00264970 38 60 76 73 */ li r3, 0x7673
/* 80267A34 00264974 7C 04 1B D6 */ divw r0, r4, r3
/* 80267A38 00264978 7C 00 19 D6 */ mullw r0, r0, r3
/* 80267A3C 0026497C 7C 00 20 50 */ subf r0, r0, r4
/* 80267A40 00264980 90 0D 8B FC */ stw r0, lbl_8045117C-_SDA_BASE_(r13)
/* 80267A44 00264984 C8 82 B6 C0 */ lfd f4, lbl_804550C0-_SDA2_BASE_(r2)
/* 80267A48 00264988 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80267A4C 0026498C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80267A50 00264990 3C 60 43 30 */ lis r3, 0x4330
/* 80267A54 00264994 90 61 00 08 */ stw r3, 8(r1)
/* 80267A58 00264998 C8 01 00 08 */ lfd f0, 8(r1)
/* 80267A5C 0026499C EC 20 20 28 */ fsubs f1, f0, f4
/* 80267A60 002649A0 C0 02 B6 C8 */ lfs f0, lbl_804550C8-_SDA2_BASE_(r2)
/* 80267A64 002649A4 EC 61 00 24 */ fdivs f3, f1, f0
/* 80267A68 002649A8 6C C0 80 00 */ xoris r0, r6, 0x8000
/* 80267A6C 002649AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80267A70 002649B0 90 61 00 10 */ stw r3, 0x10(r1)
/* 80267A74 002649B4 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80267A78 002649B8 EC 20 20 28 */ fsubs f1, f0, f4
/* 80267A7C 002649BC C0 02 B6 CC */ lfs f0, lbl_804550CC-_SDA2_BASE_(r2)
/* 80267A80 002649C0 EC 41 00 24 */ fdivs f2, f1, f0
/* 80267A84 002649C4 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 80267A88 002649C8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80267A8C 002649CC 90 61 00 18 */ stw r3, 0x18(r1)
/* 80267A90 002649D0 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80267A94 002649D4 EC 20 20 28 */ fsubs f1, f0, f4
/* 80267A98 002649D8 C0 02 B6 D0 */ lfs f0, lbl_804550D0-_SDA2_BASE_(r2)
/* 80267A9C 002649DC EC 01 00 24 */ fdivs f0, f1, f0
/* 80267AA0 002649E0 EC 02 00 2A */ fadds f0, f2, f0
/* 80267AA4 002649E4 EC 23 00 2A */ fadds f1, f3, f0
/* 80267AA8 002649E8 C8 42 B6 D8 */ lfd f2, lbl_804550D8-_SDA2_BASE_(r2)
/* 80267AAC 002649EC 48 10 4C B5 */ bl func_8036C760
/* 80267AB0 002649F0 FC 00 08 18 */ frsp f0, f1
/* 80267AB4 002649F4 FC 00 02 10 */ fabs f0, f0
/* 80267AB8 002649F8 FC 20 00 18 */ frsp f1, f0
/* 80267ABC 002649FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80267AC0 00264A00 7C 08 03 A6 */ mtlr r0
/* 80267AC4 00264A04 38 21 00 20 */ addi r1, r1, 0x20
/* 80267AC8 00264A08 4E 80 00 20 */ blr
/* 80267ACC 00264A0C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80267AD0 00264A10 7C 08 02 A6 */ mflr r0
/* 80267AD4 00264A14 90 01 00 24 */ stw r0, 0x24(r1)
/* 80267AD8 00264A18 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80267ADC 00264A1C F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 80267AE0 00264A20 FF E0 08 90 */ fmr f31, f1
/* 80267AE4 00264A24 4B FF FF 01 */ bl cM_rnd2
/* 80267AE8 00264A28 EC 3F 00 72 */ fmuls f1, f31, f1
/* 80267AEC 00264A2C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 80267AF0 00264A30 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 80267AF4 00264A34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80267AF8 00264A38 7C 08 03 A6 */ mtlr r0
/* 80267AFC 00264A3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80267B00 00264A40 4E 80 00 20 */ blr
/* 80267B04 00264A44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80267B08 00264A48 7C 08 02 A6 */ mflr r0
/* 80267B0C 00264A4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80267B10 00264A50 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80267B14 00264A54 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0
/* 80267B18 00264A58 FF E0 08 90 */ fmr f31, f1
/* 80267B1C 00264A5C 4B FF FE C9 */ bl cM_rnd2
/* 80267B20 00264A60 C0 02 B6 E4 */ lfs f0, lbl_804550E4-_SDA2_BASE_(r2)
/* 80267B24 00264A64 EC 01 00 28 */ fsubs f0, f1, f0
/* 80267B28 00264A68 EC 3F 00 32 */ fmuls f1, f31, f0
/* 80267B2C 00264A6C C0 02 B6 E0 */ lfs f0, lbl_804550E0-_SDA2_BASE_(r2)
/* 80267B30 00264A70 EC 20 00 72 */ fmuls f1, f0, f1
/* 80267B34 00264A74 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0
/* 80267B38 00264A78 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 80267B3C 00264A7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80267B40 00264A80 7C 08 03 A6 */ mtlr r0
/* 80267B44 00264A84 38 21 00 20 */ addi r1, r1, 0x20
/* 80267B48 00264A88 4E 80 00 20 */ blr