papermario/asm/nonmatchings/code_ad90_len_2880/func_800304FC.s
2020-08-12 22:37:16 -04:00

1075 lines
49 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800304FC
/* 00B8FC 800304FC 27BDFF80 */ addiu $sp, $sp, -0x80
/* 00B900 80030500 AFB20030 */ sw $s2, 0x30($sp)
/* 00B904 80030504 00A0902D */ daddu $s2, $a1, $zero
/* 00B908 80030508 AFB40038 */ sw $s4, 0x38($sp)
/* 00B90C 8003050C 00C0A02D */ daddu $s4, $a2, $zero
/* 00B910 80030510 AFB30034 */ sw $s3, 0x34($sp)
/* 00B914 80030514 00E0982D */ daddu $s3, $a3, $zero
/* 00B918 80030518 AFB1002C */ sw $s1, 0x2c($sp)
/* 00B91C 8003051C AFBF0048 */ sw $ra, 0x48($sp)
/* 00B920 80030520 AFB70044 */ sw $s7, 0x44($sp)
/* 00B924 80030524 AFB60040 */ sw $s6, 0x40($sp)
/* 00B928 80030528 AFB5003C */ sw $s5, 0x3c($sp)
/* 00B92C 8003052C AFB00028 */ sw $s0, 0x28($sp)
/* 00B930 80030530 F7BE0078 */ sdc1 $f30, 0x78($sp)
/* 00B934 80030534 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* 00B938 80030538 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* 00B93C 8003053C F7B80060 */ sdc1 $f24, 0x60($sp)
/* 00B940 80030540 F7B60058 */ sdc1 $f22, 0x58($sp)
/* 00B944 80030544 F7B40050 */ sdc1 $f20, 0x50($sp)
/* 00B948 80030548 8E900000 */ lw $s0, ($s4)
/* 00B94C 8003054C C7B80094 */ lwc1 $f24, 0x94($sp)
/* 00B950 80030550 C7BE0098 */ lwc1 $f30, 0x98($sp)
/* 00B954 80030554 C7BA009C */ lwc1 $f26, 0x9c($sp)
/* 00B958 80030558 8FB500AC */ lw $s5, 0xac($sp)
/* 00B95C 8003055C 8FB600B0 */ lw $s6, 0xb0($sp)
/* 00B960 80030560 8FB700B4 */ lw $s7, 0xb4($sp)
/* 00B964 80030564 26020002 */ addiu $v0, $s0, 2
/* 00B968 80030568 2C420002 */ sltiu $v0, $v0, 2
/* 00B96C 8003056C 144000C4 */ bnez $v0, .L80030880
/* 00B970 80030570 0240882D */ daddu $s1, $s2, $zero
/* 00B974 80030574 16000005 */ bnez $s0, .L8003058C
/* 00B978 80030578 00000000 */ nop
/* 00B97C 8003057C E6580010 */ swc1 $f24, 0x10($s2)
/* 00B980 80030580 E65E0014 */ swc1 $f30, 0x14($s2)
/* 00B984 80030584 0800C220 */ j .L80030880
/* 00B988 80030588 E65A0018 */ swc1 $f26, 0x18($s2)
.L8003058C:
/* 00B98C 8003058C 8E030000 */ lw $v1, ($s0)
/* 00B990 80030590 2C620007 */ sltiu $v0, $v1, 7
/* 00B994 80030594 104000BA */ beqz $v0, .L80030880
/* 00B998 80030598 00031080 */ sll $v0, $v1, 2
/* 00B99C 8003059C 3C01800A */ lui $at, 0x800a
/* 00B9A0 800305A0 00220821 */ addu $at, $at, $v0
/* 00B9A4 800305A4 8C228210 */ lw $v0, -0x7df0($at)
/* 00B9A8 800305A8 00400008 */ jr $v0
/* 00B9AC 800305AC 00000000 */ nop
/* 00B9B0 800305B0 8E020028 */ lw $v0, 0x28($s0)
/* 00B9B4 800305B4 504000B0 */ beql $v0, $zero, .L80030878
/* 00B9B8 800305B8 E6380010 */ swc1 $f24, 0x10($s1)
/* 00B9BC 800305BC C60A0014 */ lwc1 $f10, 0x14($s0)
/* 00B9C0 800305C0 C60C0020 */ lwc1 $f12, 0x20($s0)
/* 00B9C4 800305C4 460C5281 */ sub.s $f10, $f10, $f12
/* 00B9C8 800305C8 C6000018 */ lwc1 $f0, 0x18($s0)
/* 00B9CC 800305CC 46005287 */ neg.s $f10, $f10
/* 00B9D0 800305D0 46005280 */ add.s $f10, $f10, $f0
/* 00B9D4 800305D4 460A0201 */ sub.s $f8, $f0, $f10
/* 00B9D8 800305D8 46084102 */ mul.s $f4, $f8, $f8
/* 00B9DC 800305DC 00000000 */ nop
/* 00B9E0 800305E0 C606000C */ lwc1 $f6, 0xc($s0)
/* 00B9E4 800305E4 46003181 */ sub.s $f6, $f6, $f0
/* 00B9E8 800305E8 460C3180 */ add.s $f6, $f6, $f12
/* 00B9EC 800305EC 46066301 */ sub.s $f12, $f12, $f6
/* 00B9F0 800305F0 460C6382 */ mul.s $f14, $f12, $f12
/* 00B9F4 800305F4 00000000 */ nop
/* 00B9F8 800305F8 460AC081 */ sub.s $f2, $f24, $f10
/* 00B9FC 800305FC 46081082 */ mul.s $f2, $f2, $f8
/* 00BA00 80030600 00000000 */ nop
/* 00BA04 80030604 4606D001 */ sub.s $f0, $f26, $f6
/* 00BA08 80030608 460C0002 */ mul.s $f0, $f0, $f12
/* 00BA0C 8003060C 00000000 */ nop
/* 00BA10 80030610 460E2100 */ add.s $f4, $f4, $f14
/* 00BA14 80030614 46001080 */ add.s $f2, $f2, $f0
/* 00BA18 80030618 46041103 */ div.s $f4, $f2, $f4
/* 00BA1C 8003061C 46082202 */ mul.s $f8, $f4, $f8
/* 00BA20 80030620 00000000 */ nop
/* 00BA24 80030624 460C2102 */ mul.s $f4, $f4, $f12
/* 00BA28 80030628 00000000 */ nop
/* 00BA2C 8003062C 460A4200 */ add.s $f8, $f8, $f10
/* 00BA30 80030630 46062100 */ add.s $f4, $f4, $f6
/* 00BA34 80030634 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BA38 80030638 E6280010 */ swc1 $f8, 0x10($s1)
/* 00BA3C 8003063C 0800C220 */ j .L80030880
/* 00BA40 80030640 E6240018 */ swc1 $f4, 0x18($s1)
/* 00BA44 80030644 C60E000C */ lwc1 $f14, 0xc($s0)
/* 00BA48 80030648 C61C0018 */ lwc1 $f28, 0x18($s0)
/* 00BA4C 8003064C 460EE201 */ sub.s $f8, $f28, $f14
/* 00BA50 80030650 46084502 */ mul.s $f20, $f8, $f8
/* 00BA54 80030654 00000000 */ nop
/* 00BA58 80030658 460EC081 */ sub.s $f2, $f24, $f14
/* 00BA5C 8003065C 46081082 */ mul.s $f2, $f2, $f8
/* 00BA60 80030660 00000000 */ nop
/* 00BA64 80030664 E7BC0010 */ swc1 $f28, 0x10($sp)
/* 00BA68 80030668 C60C0014 */ lwc1 $f12, 0x14($s0)
/* 00BA6C 8003066C C61C0020 */ lwc1 $f28, 0x20($s0)
/* 00BA70 80030670 460CE181 */ sub.s $f6, $f28, $f12
/* 00BA74 80030674 46063482 */ mul.s $f18, $f6, $f6
/* 00BA78 80030678 00000000 */ nop
/* 00BA7C 8003067C 460CD001 */ sub.s $f0, $f26, $f12
/* 00BA80 80030680 46060002 */ mul.s $f0, $f0, $f6
/* 00BA84 80030684 00000000 */ nop
/* 00BA88 80030688 4612A100 */ add.s $f4, $f20, $f18
/* 00BA8C 8003068C 46001080 */ add.s $f2, $f2, $f0
/* 00BA90 80030690 46041103 */ div.s $f4, $f2, $f4
/* 00BA94 80030694 46082002 */ mul.s $f0, $f4, $f8
/* 00BA98 80030698 00000000 */ nop
/* 00BA9C 8003069C 46062102 */ mul.s $f4, $f4, $f6
/* 00BAA0 800306A0 00000000 */ nop
/* 00BAA4 800306A4 460E0400 */ add.s $f16, $f0, $f14
/* 00BAA8 800306A8 46007586 */ mov.s $f22, $f14
/* 00BAAC 800306AC 46004386 */ mov.s $f14, $f8
/* 00BAB0 800306B0 46168201 */ sub.s $f8, $f16, $f22
/* 00BAB4 800306B4 46087082 */ mul.s $f2, $f14, $f8
/* 00BAB8 800306B8 00000000 */ nop
/* 00BABC 800306BC 460C2280 */ add.s $f10, $f4, $f12
/* 00BAC0 800306C0 46006106 */ mov.s $f4, $f12
/* 00BAC4 800306C4 46003306 */ mov.s $f12, $f6
/* 00BAC8 800306C8 46045181 */ sub.s $f6, $f10, $f4
/* 00BACC 800306CC 46066002 */ mul.s $f0, $f12, $f6
/* 00BAD0 800306D0 00000000 */ nop
/* 00BAD4 800306D4 4610C501 */ sub.s $f20, $f24, $f16
/* 00BAD8 800306D8 460AD481 */ sub.s $f18, $f26, $f10
/* 00BADC 800306DC 46001080 */ add.s $f2, $f2, $f0
/* 00BAE0 800306E0 44800000 */ mtc1 $zero, $f0
/* 00BAE4 800306E4 00000000 */ nop
/* 00BAE8 800306E8 4600103C */ c.lt.s $f2, $f0
/* 00BAEC 800306EC 00000000 */ nop
/* 00BAF0 800306F0 45000004 */ bc1f .L80030704
/* 00BAF4 800306F4 E7BC0020 */ swc1 $f28, 0x20($sp)
/* 00BAF8 800306F8 4600B406 */ mov.s $f16, $f22
/* 00BAFC 800306FC 0800C1D1 */ j .L80030744
/* 00BB00 80030700 46002286 */ mov.s $f10, $f4
.L80030704:
/* 00BB04 80030704 46084082 */ mul.s $f2, $f8, $f8
/* 00BB08 80030708 00000000 */ nop
/* 00BB0C 8003070C 46063182 */ mul.s $f6, $f6, $f6
/* 00BB10 80030710 00000000 */ nop
/* 00BB14 80030714 460E7002 */ mul.s $f0, $f14, $f14
/* 00BB18 80030718 00000000 */ nop
/* 00BB1C 8003071C 460C6102 */ mul.s $f4, $f12, $f12
/* 00BB20 80030720 00000000 */ nop
/* 00BB24 80030724 46061080 */ add.s $f2, $f2, $f6
/* 00BB28 80030728 46040000 */ add.s $f0, $f0, $f4
/* 00BB2C 8003072C 4602003C */ c.lt.s $f0, $f2
/* 00BB30 80030730 00000000 */ nop
/* 00BB34 80030734 45000003 */ bc1f .L80030744
/* 00BB38 80030738 00000000 */ nop
/* 00BB3C 8003073C C7B00010 */ lwc1 $f16, 0x10($sp)
/* 00BB40 80030740 C7AA0020 */ lwc1 $f10, 0x20($sp)
.L80030744:
/* 00BB44 80030744 8E020028 */ lw $v0, 0x28($s0)
/* 00BB48 80030748 54400004 */ bnel $v0, $zero, .L8003075C
/* 00BB4C 8003074C E6300010 */ swc1 $f16, 0x10($s1)
/* 00BB50 80030750 46148400 */ add.s $f16, $f16, $f20
/* 00BB54 80030754 46125280 */ add.s $f10, $f10, $f18
/* 00BB58 80030758 E6300010 */ swc1 $f16, 0x10($s1)
.L8003075C:
/* 00BB5C 8003075C E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BB60 80030760 0800C220 */ j .L80030880
/* 00BB64 80030764 E62A0018 */ swc1 $f10, 0x18($s1)
/* 00BB68 80030768 8E020028 */ lw $v0, 0x28($s0)
/* 00BB6C 8003076C 50400042 */ beql $v0, $zero, .L80030878
/* 00BB70 80030770 E6380010 */ swc1 $f24, 0x10($s1)
/* 00BB74 80030774 C600000C */ lwc1 $f0, 0xc($s0)
/* 00BB78 80030778 4600C581 */ sub.s $f22, $f24, $f0
/* 00BB7C 8003077C 4616B082 */ mul.s $f2, $f22, $f22
/* 00BB80 80030780 00000000 */ nop
/* 00BB84 80030784 C6000014 */ lwc1 $f0, 0x14($s0)
/* 00BB88 80030788 4600D501 */ sub.s $f20, $f26, $f0
/* 00BB8C 8003078C 4614A002 */ mul.s $f0, $f20, $f20
/* 00BB90 80030790 00000000 */ nop
/* 00BB94 80030794 46001600 */ add.s $f24, $f2, $f0
/* 00BB98 80030798 44800000 */ mtc1 $zero, $f0
/* 00BB9C 8003079C 00000000 */ nop
/* 00BBA0 800307A0 4600C032 */ c.eq.s $f24, $f0
/* 00BBA4 800307A4 00000000 */ nop
/* 00BBA8 800307A8 45010035 */ bc1t .L80030880
/* 00BBAC 800307AC 00000000 */ nop
/* 00BBB0 800307B0 4600C184 */ sqrt.s $f6, $f24
/* 00BBB4 800307B4 46063032 */ c.eq.s $f6, $f6
/* 00BBB8 800307B8 00000000 */ nop
/* 00BBBC 800307BC 45010004 */ bc1t .L800307D0
/* 00BBC0 800307C0 00000000 */ nop
/* 00BBC4 800307C4 0C0187BC */ jal sqrtf
/* 00BBC8 800307C8 4600C306 */ mov.s $f12, $f24
/* 00BBCC 800307CC 46000186 */ mov.s $f6, $f0
.L800307D0:
/* 00BBD0 800307D0 C6040018 */ lwc1 $f4, 0x18($s0)
/* 00BBD4 800307D4 C600000C */ lwc1 $f0, 0xc($s0)
/* 00BBD8 800307D8 46002101 */ sub.s $f4, $f4, $f0
/* 00BBDC 800307DC 46042102 */ mul.s $f4, $f4, $f4
/* 00BBE0 800307E0 00000000 */ nop
/* 00BBE4 800307E4 C6020014 */ lwc1 $f2, 0x14($s0)
/* 00BBE8 800307E8 C6000020 */ lwc1 $f0, 0x20($s0)
/* 00BBEC 800307EC 46020001 */ sub.s $f0, $f0, $f2
/* 00BBF0 800307F0 46000002 */ mul.s $f0, $f0, $f0
/* 00BBF4 800307F4 00000000 */ nop
/* 00BBF8 800307F8 3C013F80 */ lui $at, 0x3f80
/* 00BBFC 800307FC 44811000 */ mtc1 $at, $f2
/* 00BC00 80030800 46002300 */ add.s $f12, $f4, $f0
/* 00BC04 80030804 46061603 */ div.s $f24, $f2, $f6
/* 00BC08 80030808 46006084 */ sqrt.s $f2, $f12
/* 00BC0C 8003080C 46021032 */ c.eq.s $f2, $f2
/* 00BC10 80030810 00000000 */ nop
/* 00BC14 80030814 45010004 */ bc1t .L80030828
/* 00BC18 80030818 00000000 */ nop
/* 00BC1C 8003081C 0C0187BC */ jal sqrtf
/* 00BC20 80030820 00000000 */ nop
/* 00BC24 80030824 46000086 */ mov.s $f2, $f0
.L80030828:
/* 00BC28 80030828 4602B002 */ mul.s $f0, $f22, $f2
/* 00BC2C 8003082C 00000000 */ nop
/* 00BC30 80030830 4602A102 */ mul.s $f4, $f20, $f2
/* 00BC34 80030834 00000000 */ nop
/* 00BC38 80030838 46180002 */ mul.s $f0, $f0, $f24
/* 00BC3C 8003083C 00000000 */ nop
/* 00BC40 80030840 C602000C */ lwc1 $f2, 0xc($s0)
/* 00BC44 80030844 46001080 */ add.s $f2, $f2, $f0
/* 00BC48 80030848 46182102 */ mul.s $f4, $f4, $f24
/* 00BC4C 8003084C 00000000 */ nop
/* 00BC50 80030850 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BC54 80030854 E6220010 */ swc1 $f2, 0x10($s1)
/* 00BC58 80030858 C6000014 */ lwc1 $f0, 0x14($s0)
/* 00BC5C 8003085C 46040000 */ add.s $f0, $f0, $f4
/* 00BC60 80030860 0800C220 */ j .L80030880
/* 00BC64 80030864 E6200018 */ swc1 $f0, 0x18($s1)
/* 00BC68 80030868 2402FFFF */ addiu $v0, $zero, -1
/* 00BC6C 8003086C 0800C220 */ j .L80030880
/* 00BC70 80030870 AE820000 */ sw $v0, ($s4)
/* 00BC74 80030874 E6380010 */ swc1 $f24, 0x10($s1)
.L80030878:
/* 00BC78 80030878 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BC7C 8003087C E63A0018 */ swc1 $f26, 0x18($s1)
.L80030880:
/* 00BC80 80030880 8FA20090 */ lw $v0, 0x90($sp)
/* 00BC84 80030884 C7B800A0 */ lwc1 $f24, 0xa0($sp)
/* 00BC88 80030888 C7BE00A4 */ lwc1 $f30, 0xa4($sp)
/* 00BC8C 8003088C 8C500000 */ lw $s0, ($v0)
/* 00BC90 80030890 C7BA00A8 */ lwc1 $f26, 0xa8($sp)
/* 00BC94 80030894 16000005 */ bnez $s0, .L800308AC
/* 00BC98 80030898 0260882D */ daddu $s1, $s3, $zero
/* 00BC9C 8003089C E6780010 */ swc1 $f24, 0x10($s3)
/* 00BCA0 800308A0 E67E0014 */ swc1 $f30, 0x14($s3)
/* 00BCA4 800308A4 0800C4F0 */ j .L800313C0
/* 00BCA8 800308A8 E67A0018 */ swc1 $f26, 0x18($s3)
.L800308AC:
/* 00BCAC 800308AC 8E030000 */ lw $v1, ($s0)
/* 00BCB0 800308B0 2C620007 */ sltiu $v0, $v1, 7
/* 00BCB4 800308B4 10400279 */ beqz $v0, .L8003129C
/* 00BCB8 800308B8 00031080 */ sll $v0, $v1, 2
/* 00BCBC 800308BC 3C01800A */ lui $at, 0x800a
/* 00BCC0 800308C0 00220821 */ addu $at, $at, $v0
/* 00BCC4 800308C4 8C228230 */ lw $v0, -0x7dd0($at)
/* 00BCC8 800308C8 00400008 */ jr $v0
/* 00BCCC 800308CC 00000000 */ nop
/* 00BCD0 800308D0 C6020018 */ lwc1 $f2, 0x18($s0)
/* 00BCD4 800308D4 C600000C */ lwc1 $f0, 0xc($s0)
/* 00BCD8 800308D8 46001081 */ sub.s $f2, $f2, $f0
/* 00BCDC 800308DC C6000014 */ lwc1 $f0, 0x14($s0)
/* 00BCE0 800308E0 44061000 */ mfc1 $a2, $f2
/* 00BCE4 800308E4 C6020020 */ lwc1 $f2, 0x20($s0)
/* 00BCE8 800308E8 4480A000 */ mtc1 $zero, $f20
/* 00BCEC 800308EC 46001081 */ sub.s $f2, $f2, $f0
/* 00BCF0 800308F0 4600A306 */ mov.s $f12, $f20
/* 00BCF4 800308F4 44071000 */ mfc1 $a3, $f2
/* 00BCF8 800308F8 0C00A720 */ jal atan2
/* 00BCFC 800308FC 4600A386 */ mov.s $f14, $f20
/* 00BD00 80030900 E6200000 */ swc1 $f0, ($s1)
/* 00BD04 80030904 C6000004 */ lwc1 $f0, 4($s0)
/* 00BD08 80030908 4614003C */ c.lt.s $f0, $f20
/* 00BD0C 8003090C 00000000 */ nop
/* 00BD10 80030910 45030001 */ bc1tl .L80030918
/* 00BD14 80030914 46000007 */ neg.s $f0, $f0
.L80030918:
/* 00BD18 80030918 E6200004 */ swc1 $f0, 4($s1)
/* 00BD1C 8003091C C6000008 */ lwc1 $f0, 8($s0)
/* 00BD20 80030920 E6200008 */ swc1 $f0, 8($s1)
/* 00BD24 80030924 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00BD28 80030928 E620000C */ swc1 $f0, 0xc($s1)
/* 00BD2C 8003092C 8E020028 */ lw $v0, 0x28($s0)
/* 00BD30 80030930 50400023 */ beql $v0, $zero, .L800309C0
/* 00BD34 80030934 E6380010 */ swc1 $f24, 0x10($s1)
/* 00BD38 80030938 C60A0014 */ lwc1 $f10, 0x14($s0)
/* 00BD3C 8003093C C60C0020 */ lwc1 $f12, 0x20($s0)
/* 00BD40 80030940 460C5281 */ sub.s $f10, $f10, $f12
/* 00BD44 80030944 C6000018 */ lwc1 $f0, 0x18($s0)
/* 00BD48 80030948 46005287 */ neg.s $f10, $f10
/* 00BD4C 8003094C 46005280 */ add.s $f10, $f10, $f0
/* 00BD50 80030950 460A0201 */ sub.s $f8, $f0, $f10
/* 00BD54 80030954 46084102 */ mul.s $f4, $f8, $f8
/* 00BD58 80030958 00000000 */ nop
/* 00BD5C 8003095C C606000C */ lwc1 $f6, 0xc($s0)
/* 00BD60 80030960 46003181 */ sub.s $f6, $f6, $f0
/* 00BD64 80030964 460C3180 */ add.s $f6, $f6, $f12
/* 00BD68 80030968 46066301 */ sub.s $f12, $f12, $f6
/* 00BD6C 8003096C 460C6382 */ mul.s $f14, $f12, $f12
/* 00BD70 80030970 00000000 */ nop
/* 00BD74 80030974 460AC081 */ sub.s $f2, $f24, $f10
/* 00BD78 80030978 46081082 */ mul.s $f2, $f2, $f8
/* 00BD7C 8003097C 00000000 */ nop
/* 00BD80 80030980 4606D001 */ sub.s $f0, $f26, $f6
/* 00BD84 80030984 460C0002 */ mul.s $f0, $f0, $f12
/* 00BD88 80030988 00000000 */ nop
/* 00BD8C 8003098C 460E2100 */ add.s $f4, $f4, $f14
/* 00BD90 80030990 46001080 */ add.s $f2, $f2, $f0
/* 00BD94 80030994 46041103 */ div.s $f4, $f2, $f4
/* 00BD98 80030998 46082202 */ mul.s $f8, $f4, $f8
/* 00BD9C 8003099C 00000000 */ nop
/* 00BDA0 800309A0 460C2102 */ mul.s $f4, $f4, $f12
/* 00BDA4 800309A4 00000000 */ nop
/* 00BDA8 800309A8 460A4200 */ add.s $f8, $f8, $f10
/* 00BDAC 800309AC 46062100 */ add.s $f4, $f4, $f6
/* 00BDB0 800309B0 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BDB4 800309B4 E6280010 */ swc1 $f8, 0x10($s1)
/* 00BDB8 800309B8 0800C2D4 */ j .L80030B50
/* 00BDBC 800309BC E6240018 */ swc1 $f4, 0x18($s1)
.L800309C0:
/* 00BDC0 800309C0 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BDC4 800309C4 0800C2D4 */ j .L80030B50
/* 00BDC8 800309C8 E63A0018 */ swc1 $f26, 0x18($s1)
/* 00BDCC 800309CC C6020018 */ lwc1 $f2, 0x18($s0)
/* 00BDD0 800309D0 C600000C */ lwc1 $f0, 0xc($s0)
/* 00BDD4 800309D4 46001581 */ sub.s $f22, $f2, $f0
/* 00BDD8 800309D8 C6020020 */ lwc1 $f2, 0x20($s0)
/* 00BDDC 800309DC C6000014 */ lwc1 $f0, 0x14($s0)
/* 00BDE0 800309E0 46001081 */ sub.s $f2, $f2, $f0
/* 00BDE4 800309E4 44806000 */ mtc1 $zero, $f12
/* 00BDE8 800309E8 4600B587 */ neg.s $f22, $f22
/* 00BDEC 800309EC 4407B000 */ mfc1 $a3, $f22
/* 00BDF0 800309F0 44061000 */ mfc1 $a2, $f2
/* 00BDF4 800309F4 0C00A720 */ jal atan2
/* 00BDF8 800309F8 46006386 */ mov.s $f14, $f12
/* 00BDFC 800309FC E6200000 */ swc1 $f0, ($s1)
/* 00BE00 80030A00 C6000004 */ lwc1 $f0, 4($s0)
/* 00BE04 80030A04 4480E000 */ mtc1 $zero, $f28
/* 00BE08 80030A08 00000000 */ nop
/* 00BE0C 80030A0C 461C003C */ c.lt.s $f0, $f28
/* 00BE10 80030A10 00000000 */ nop
/* 00BE14 80030A14 45030001 */ bc1tl .L80030A1C
/* 00BE18 80030A18 46000007 */ neg.s $f0, $f0
.L80030A1C:
/* 00BE1C 80030A1C E6200004 */ swc1 $f0, 4($s1)
/* 00BE20 80030A20 C6000008 */ lwc1 $f0, 8($s0)
/* 00BE24 80030A24 E6200008 */ swc1 $f0, 8($s1)
/* 00BE28 80030A28 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00BE2C 80030A2C E620000C */ swc1 $f0, 0xc($s1)
/* 00BE30 80030A30 C60E000C */ lwc1 $f14, 0xc($s0)
/* 00BE34 80030A34 C61C0018 */ lwc1 $f28, 0x18($s0)
/* 00BE38 80030A38 460EE201 */ sub.s $f8, $f28, $f14
/* 00BE3C 80030A3C 46084502 */ mul.s $f20, $f8, $f8
/* 00BE40 80030A40 00000000 */ nop
/* 00BE44 80030A44 460EC081 */ sub.s $f2, $f24, $f14
/* 00BE48 80030A48 46081082 */ mul.s $f2, $f2, $f8
/* 00BE4C 80030A4C 00000000 */ nop
/* 00BE50 80030A50 E7BC0014 */ swc1 $f28, 0x14($sp)
/* 00BE54 80030A54 C60C0014 */ lwc1 $f12, 0x14($s0)
/* 00BE58 80030A58 C61C0020 */ lwc1 $f28, 0x20($s0)
/* 00BE5C 80030A5C 460CE181 */ sub.s $f6, $f28, $f12
/* 00BE60 80030A60 46063482 */ mul.s $f18, $f6, $f6
/* 00BE64 80030A64 00000000 */ nop
/* 00BE68 80030A68 460CD001 */ sub.s $f0, $f26, $f12
/* 00BE6C 80030A6C 46060002 */ mul.s $f0, $f0, $f6
/* 00BE70 80030A70 00000000 */ nop
/* 00BE74 80030A74 4612A100 */ add.s $f4, $f20, $f18
/* 00BE78 80030A78 46001080 */ add.s $f2, $f2, $f0
/* 00BE7C 80030A7C 46041103 */ div.s $f4, $f2, $f4
/* 00BE80 80030A80 46082002 */ mul.s $f0, $f4, $f8
/* 00BE84 80030A84 00000000 */ nop
/* 00BE88 80030A88 46062102 */ mul.s $f4, $f4, $f6
/* 00BE8C 80030A8C 00000000 */ nop
/* 00BE90 80030A90 460E0400 */ add.s $f16, $f0, $f14
/* 00BE94 80030A94 46007586 */ mov.s $f22, $f14
/* 00BE98 80030A98 46004386 */ mov.s $f14, $f8
/* 00BE9C 80030A9C 46168201 */ sub.s $f8, $f16, $f22
/* 00BEA0 80030AA0 46087002 */ mul.s $f0, $f14, $f8
/* 00BEA4 80030AA4 00000000 */ nop
/* 00BEA8 80030AA8 460C2280 */ add.s $f10, $f4, $f12
/* 00BEAC 80030AAC 46006106 */ mov.s $f4, $f12
/* 00BEB0 80030AB0 46003306 */ mov.s $f12, $f6
/* 00BEB4 80030AB4 46045181 */ sub.s $f6, $f10, $f4
/* 00BEB8 80030AB8 46066082 */ mul.s $f2, $f12, $f6
/* 00BEBC 80030ABC 00000000 */ nop
/* 00BEC0 80030AC0 4610C501 */ sub.s $f20, $f24, $f16
/* 00BEC4 80030AC4 E7BC0018 */ swc1 $f28, 0x18($sp)
/* 00BEC8 80030AC8 46020000 */ add.s $f0, $f0, $f2
/* 00BECC 80030ACC 4480E000 */ mtc1 $zero, $f28
/* 00BED0 80030AD0 00000000 */ nop
/* 00BED4 80030AD4 461C003C */ c.lt.s $f0, $f28
/* 00BED8 80030AD8 00000000 */ nop
/* 00BEDC 80030ADC 45000004 */ bc1f .L80030AF0
/* 00BEE0 80030AE0 460AD481 */ sub.s $f18, $f26, $f10
/* 00BEE4 80030AE4 4600B406 */ mov.s $f16, $f22
/* 00BEE8 80030AE8 0800C2CC */ j .L80030B30
/* 00BEEC 80030AEC 46002286 */ mov.s $f10, $f4
.L80030AF0:
/* 00BEF0 80030AF0 46084082 */ mul.s $f2, $f8, $f8
/* 00BEF4 80030AF4 00000000 */ nop
/* 00BEF8 80030AF8 46063182 */ mul.s $f6, $f6, $f6
/* 00BEFC 80030AFC 00000000 */ nop
/* 00BF00 80030B00 460E7002 */ mul.s $f0, $f14, $f14
/* 00BF04 80030B04 00000000 */ nop
/* 00BF08 80030B08 460C6102 */ mul.s $f4, $f12, $f12
/* 00BF0C 80030B0C 00000000 */ nop
/* 00BF10 80030B10 46061080 */ add.s $f2, $f2, $f6
/* 00BF14 80030B14 46040000 */ add.s $f0, $f0, $f4
/* 00BF18 80030B18 4602003C */ c.lt.s $f0, $f2
/* 00BF1C 80030B1C 00000000 */ nop
/* 00BF20 80030B20 45000003 */ bc1f .L80030B30
/* 00BF24 80030B24 00000000 */ nop
/* 00BF28 80030B28 C7B00014 */ lwc1 $f16, 0x14($sp)
/* 00BF2C 80030B2C C7AA0018 */ lwc1 $f10, 0x18($sp)
.L80030B30:
/* 00BF30 80030B30 8E020028 */ lw $v0, 0x28($s0)
/* 00BF34 80030B34 54400004 */ bnel $v0, $zero, .L80030B48
/* 00BF38 80030B38 E6300010 */ swc1 $f16, 0x10($s1)
/* 00BF3C 80030B3C 46148400 */ add.s $f16, $f16, $f20
/* 00BF40 80030B40 46125280 */ add.s $f10, $f10, $f18
/* 00BF44 80030B44 E6300010 */ swc1 $f16, 0x10($s1)
.L80030B48:
/* 00BF48 80030B48 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00BF4C 80030B4C E62A0018 */ swc1 $f10, 0x18($s1)
.L80030B50:
/* 00BF50 80030B50 12E0021B */ beqz $s7, .L800313C0
/* 00BF54 80030B54 00000000 */ nop
/* 00BF58 80030B58 C6C00000 */ lwc1 $f0, ($s6)
/* 00BF5C 80030B5C 3C013F80 */ lui $at, 0x3f80
/* 00BF60 80030B60 44812000 */ mtc1 $at, $f4
/* 00BF64 80030B64 00000000 */ nop
/* 00BF68 80030B68 46040032 */ c.eq.s $f0, $f4
/* 00BF6C 80030B6C 00000000 */ nop
/* 00BF70 80030B70 450101CA */ bc1t .L8003129C
/* 00BF74 80030B74 00000000 */ nop
/* 00BF78 80030B78 8E840000 */ lw $a0, ($s4)
/* 00BF7C 80030B7C 24820002 */ addiu $v0, $a0, 2
/* 00BF80 80030B80 2C420003 */ sltiu $v0, $v0, 3
/* 00BF84 80030B84 144001C5 */ bnez $v0, .L8003129C
/* 00BF88 80030B88 00000000 */ nop
/* 00BF8C 80030B8C 8C830000 */ lw $v1, ($a0)
/* 00BF90 80030B90 8E020000 */ lw $v0, ($s0)
/* 00BF94 80030B94 146201C1 */ bne $v1, $v0, .L8003129C
/* 00BF98 80030B98 00000000 */ nop
/* 00BF9C 80030B9C C4820004 */ lwc1 $f2, 4($a0)
/* 00BFA0 80030BA0 C6000004 */ lwc1 $f0, 4($s0)
/* 00BFA4 80030BA4 46001032 */ c.eq.s $f2, $f0
/* 00BFA8 80030BA8 00000000 */ nop
/* 00BFAC 80030BAC 450001BB */ bc1f .L8003129C
/* 00BFB0 80030BB0 00000000 */ nop
/* 00BFB4 80030BB4 C4820008 */ lwc1 $f2, 8($a0)
/* 00BFB8 80030BB8 C6000008 */ lwc1 $f0, 8($s0)
/* 00BFBC 80030BBC 46001032 */ c.eq.s $f2, $f0
/* 00BFC0 80030BC0 00000000 */ nop
/* 00BFC4 80030BC4 450001B5 */ bc1f .L8003129C
/* 00BFC8 80030BC8 00000000 */ nop
/* 00BFCC 80030BCC C4820024 */ lwc1 $f2, 0x24($a0)
/* 00BFD0 80030BD0 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00BFD4 80030BD4 46001032 */ c.eq.s $f2, $f0
/* 00BFD8 80030BD8 00000000 */ nop
/* 00BFDC 80030BDC 450001AF */ bc1f .L8003129C
/* 00BFE0 80030BE0 00000000 */ nop
/* 00BFE4 80030BE4 8C830028 */ lw $v1, 0x28($a0)
/* 00BFE8 80030BE8 8E020028 */ lw $v0, 0x28($s0)
/* 00BFEC 80030BEC 546201AB */ bnel $v1, $v0, .L8003129C
/* 00BFF0 80030BF0 E6C40000 */ swc1 $f4, ($s6)
/* 00BFF4 80030BF4 0800C4A7 */ j .L8003129C
/* 00BFF8 80030BF8 00000000 */ nop
/* 00BFFC 80030BFC C6040004 */ lwc1 $f4, 4($s0)
/* 00C000 80030C00 44800000 */ mtc1 $zero, $f0
/* 00C004 80030C04 00000000 */ nop
/* 00C008 80030C08 4600203C */ c.lt.s $f4, $f0
/* 00C00C 80030C0C 00000000 */ nop
/* 00C010 80030C10 45000008 */ bc1f .L80030C34
/* 00C014 80030C14 00000000 */ nop
/* 00C018 80030C18 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C01C 80030C1C 4600C581 */ sub.s $f22, $f24, $f0
/* 00C020 80030C20 C6020014 */ lwc1 $f2, 0x14($s0)
/* 00C024 80030C24 46002007 */ neg.s $f0, $f4
/* 00C028 80030C28 E6200004 */ swc1 $f0, 4($s1)
/* 00C02C 80030C2C 0800C312 */ j .L80030C48
/* 00C030 80030C30 4602D501 */ sub.s $f20, $f26, $f2
.L80030C34:
/* 00C034 80030C34 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C038 80030C38 46180581 */ sub.s $f22, $f0, $f24
/* 00C03C 80030C3C C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C040 80030C40 E6240004 */ swc1 $f4, 4($s1)
/* 00C044 80030C44 461A0501 */ sub.s $f20, $f0, $f26
.L80030C48:
/* 00C048 80030C48 4406B000 */ mfc1 $a2, $f22
/* 00C04C 80030C4C 44806000 */ mtc1 $zero, $f12
/* 00C050 80030C50 4407A000 */ mfc1 $a3, $f20
/* 00C054 80030C54 0C00A720 */ jal atan2
/* 00C058 80030C58 46006386 */ mov.s $f14, $f12
/* 00C05C 80030C5C E6200000 */ swc1 $f0, ($s1)
/* 00C060 80030C60 C6000008 */ lwc1 $f0, 8($s0)
/* 00C064 80030C64 E6200008 */ swc1 $f0, 8($s1)
/* 00C068 80030C68 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C06C 80030C6C E620000C */ swc1 $f0, 0xc($s1)
/* 00C070 80030C70 8E020028 */ lw $v0, 0x28($s0)
/* 00C074 80030C74 5040003E */ beql $v0, $zero, .L80030D70
/* 00C078 80030C78 E6380010 */ swc1 $f24, 0x10($s1)
/* 00C07C 80030C7C C600000C */ lwc1 $f0, 0xc($s0)
/* 00C080 80030C80 4600C581 */ sub.s $f22, $f24, $f0
/* 00C084 80030C84 4616B082 */ mul.s $f2, $f22, $f22
/* 00C088 80030C88 00000000 */ nop
/* 00C08C 80030C8C C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C090 80030C90 4600D501 */ sub.s $f20, $f26, $f0
/* 00C094 80030C94 4614A002 */ mul.s $f0, $f20, $f20
/* 00C098 80030C98 00000000 */ nop
/* 00C09C 80030C9C 46001600 */ add.s $f24, $f2, $f0
/* 00C0A0 80030CA0 4480E000 */ mtc1 $zero, $f28
/* 00C0A4 80030CA4 00000000 */ nop
/* 00C0A8 80030CA8 461CC032 */ c.eq.s $f24, $f28
/* 00C0AC 80030CAC 00000000 */ nop
/* 00C0B0 80030CB0 45010031 */ bc1t .L80030D78
/* 00C0B4 80030CB4 00000000 */ nop
/* 00C0B8 80030CB8 4600C184 */ sqrt.s $f6, $f24
/* 00C0BC 80030CBC 46063032 */ c.eq.s $f6, $f6
/* 00C0C0 80030CC0 00000000 */ nop
/* 00C0C4 80030CC4 45010004 */ bc1t .L80030CD8
/* 00C0C8 80030CC8 00000000 */ nop
/* 00C0CC 80030CCC 0C0187BC */ jal sqrtf
/* 00C0D0 80030CD0 4600C306 */ mov.s $f12, $f24
/* 00C0D4 80030CD4 46000186 */ mov.s $f6, $f0
.L80030CD8:
/* 00C0D8 80030CD8 C6040018 */ lwc1 $f4, 0x18($s0)
/* 00C0DC 80030CDC C600000C */ lwc1 $f0, 0xc($s0)
/* 00C0E0 80030CE0 46002101 */ sub.s $f4, $f4, $f0
/* 00C0E4 80030CE4 46042102 */ mul.s $f4, $f4, $f4
/* 00C0E8 80030CE8 00000000 */ nop
/* 00C0EC 80030CEC C6020014 */ lwc1 $f2, 0x14($s0)
/* 00C0F0 80030CF0 C6000020 */ lwc1 $f0, 0x20($s0)
/* 00C0F4 80030CF4 46020001 */ sub.s $f0, $f0, $f2
/* 00C0F8 80030CF8 46000002 */ mul.s $f0, $f0, $f0
/* 00C0FC 80030CFC 00000000 */ nop
/* 00C100 80030D00 3C013F80 */ lui $at, 0x3f80
/* 00C104 80030D04 44811000 */ mtc1 $at, $f2
/* 00C108 80030D08 46002300 */ add.s $f12, $f4, $f0
/* 00C10C 80030D0C 46061603 */ div.s $f24, $f2, $f6
/* 00C110 80030D10 46006084 */ sqrt.s $f2, $f12
/* 00C114 80030D14 46021032 */ c.eq.s $f2, $f2
/* 00C118 80030D18 00000000 */ nop
/* 00C11C 80030D1C 45010004 */ bc1t .L80030D30
/* 00C120 80030D20 00000000 */ nop
/* 00C124 80030D24 0C0187BC */ jal sqrtf
/* 00C128 80030D28 00000000 */ nop
/* 00C12C 80030D2C 46000086 */ mov.s $f2, $f0
.L80030D30:
/* 00C130 80030D30 4602B002 */ mul.s $f0, $f22, $f2
/* 00C134 80030D34 00000000 */ nop
/* 00C138 80030D38 4602A102 */ mul.s $f4, $f20, $f2
/* 00C13C 80030D3C 00000000 */ nop
/* 00C140 80030D40 46180002 */ mul.s $f0, $f0, $f24
/* 00C144 80030D44 00000000 */ nop
/* 00C148 80030D48 C602000C */ lwc1 $f2, 0xc($s0)
/* 00C14C 80030D4C 46001080 */ add.s $f2, $f2, $f0
/* 00C150 80030D50 46182102 */ mul.s $f4, $f4, $f24
/* 00C154 80030D54 00000000 */ nop
/* 00C158 80030D58 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00C15C 80030D5C E6220010 */ swc1 $f2, 0x10($s1)
/* 00C160 80030D60 C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C164 80030D64 46040000 */ add.s $f0, $f0, $f4
/* 00C168 80030D68 0800C35E */ j .L80030D78
/* 00C16C 80030D6C E6200018 */ swc1 $f0, 0x18($s1)
.L80030D70:
/* 00C170 80030D70 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00C174 80030D74 E63A0018 */ swc1 $f26, 0x18($s1)
.L80030D78:
/* 00C178 80030D78 12E00191 */ beqz $s7, .L800313C0
/* 00C17C 80030D7C 00000000 */ nop
/* 00C180 80030D80 C6C00000 */ lwc1 $f0, ($s6)
/* 00C184 80030D84 3C013F80 */ lui $at, 0x3f80
/* 00C188 80030D88 44812000 */ mtc1 $at, $f4
/* 00C18C 80030D8C 00000000 */ nop
/* 00C190 80030D90 46040032 */ c.eq.s $f0, $f4
/* 00C194 80030D94 00000000 */ nop
/* 00C198 80030D98 45010140 */ bc1t .L8003129C
/* 00C19C 80030D9C 00000000 */ nop
/* 00C1A0 80030DA0 8E840000 */ lw $a0, ($s4)
/* 00C1A4 80030DA4 24820002 */ addiu $v0, $a0, 2
/* 00C1A8 80030DA8 2C420003 */ sltiu $v0, $v0, 3
/* 00C1AC 80030DAC 1440013B */ bnez $v0, .L8003129C
/* 00C1B0 80030DB0 00000000 */ nop
/* 00C1B4 80030DB4 8C830000 */ lw $v1, ($a0)
/* 00C1B8 80030DB8 8E020000 */ lw $v0, ($s0)
/* 00C1BC 80030DBC 14620137 */ bne $v1, $v0, .L8003129C
/* 00C1C0 80030DC0 00000000 */ nop
/* 00C1C4 80030DC4 C4820004 */ lwc1 $f2, 4($a0)
/* 00C1C8 80030DC8 C6000004 */ lwc1 $f0, 4($s0)
/* 00C1CC 80030DCC 46001032 */ c.eq.s $f2, $f0
/* 00C1D0 80030DD0 00000000 */ nop
/* 00C1D4 80030DD4 45000131 */ bc1f .L8003129C
/* 00C1D8 80030DD8 00000000 */ nop
/* 00C1DC 80030DDC C4820008 */ lwc1 $f2, 8($a0)
/* 00C1E0 80030DE0 C6000008 */ lwc1 $f0, 8($s0)
/* 00C1E4 80030DE4 46001032 */ c.eq.s $f2, $f0
/* 00C1E8 80030DE8 00000000 */ nop
/* 00C1EC 80030DEC 4500012B */ bc1f .L8003129C
/* 00C1F0 80030DF0 00000000 */ nop
/* 00C1F4 80030DF4 C4820024 */ lwc1 $f2, 0x24($a0)
/* 00C1F8 80030DF8 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C1FC 80030DFC 46001032 */ c.eq.s $f2, $f0
/* 00C200 80030E00 00000000 */ nop
/* 00C204 80030E04 45000125 */ bc1f .L8003129C
/* 00C208 80030E08 00000000 */ nop
/* 00C20C 80030E0C 8C830028 */ lw $v1, 0x28($a0)
/* 00C210 80030E10 8E020028 */ lw $v0, 0x28($s0)
/* 00C214 80030E14 10620121 */ beq $v1, $v0, .L8003129C
/* 00C218 80030E18 00000000 */ nop
/* 00C21C 80030E1C C482000C */ lwc1 $f2, 0xc($a0)
/* 00C220 80030E20 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C224 80030E24 46001032 */ c.eq.s $f2, $f0
/* 00C228 80030E28 00000000 */ nop
/* 00C22C 80030E2C 4500011B */ bc1f .L8003129C
/* 00C230 80030E30 00000000 */ nop
/* 00C234 80030E34 C4820014 */ lwc1 $f2, 0x14($a0)
/* 00C238 80030E38 C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C23C 80030E3C 46001032 */ c.eq.s $f2, $f0
/* 00C240 80030E40 00000000 */ nop
/* 00C244 80030E44 45030115 */ bc1tl .L8003129C
/* 00C248 80030E48 E6C40000 */ swc1 $f4, ($s6)
/* 00C24C 80030E4C 0800C4A7 */ j .L8003129C
/* 00C250 80030E50 00000000 */ nop
/* 00C254 80030E54 8E020028 */ lw $v0, 0x28($s0)
/* 00C258 80030E58 1440005D */ bnez $v0, .L80030FD0
/* 00C25C 80030E5C 00000000 */ nop
/* 00C260 80030E60 C612000C */ lwc1 $f18, 0xc($s0)
/* 00C264 80030E64 C6100018 */ lwc1 $f16, 0x18($s0)
/* 00C268 80030E68 C60A0014 */ lwc1 $f10, 0x14($s0)
/* 00C26C 80030E6C C60C0020 */ lwc1 $f12, 0x20($s0)
/* 00C270 80030E70 C6040010 */ lwc1 $f4, 0x10($s0)
/* 00C274 80030E74 C60E001C */ lwc1 $f14, 0x1c($s0)
/* 00C278 80030E78 46109032 */ c.eq.s $f18, $f16
/* 00C27C 80030E7C 00000000 */ nop
/* 00C280 80030E80 45000007 */ bc1f .L80030EA0
/* 00C284 80030E84 46048201 */ sub.s $f8, $f16, $f4
/* 00C288 80030E88 460C5032 */ c.eq.s $f10, $f12
/* 00C28C 80030E8C 00000000 */ nop
/* 00C290 80030E90 45000003 */ bc1f .L80030EA0
/* 00C294 80030E94 00000000 */ nop
/* 00C298 80030E98 46002486 */ mov.s $f18, $f4
/* 00C29C 80030E9C 46007286 */ mov.s $f10, $f14
.L80030EA0:
/* 00C2A0 80030EA0 44800000 */ mtc1 $zero, $f0
/* 00C2A4 80030EA4 00000000 */ nop
/* 00C2A8 80030EA8 46004032 */ c.eq.s $f8, $f0
/* 00C2AC 80030EAC 00000000 */ nop
/* 00C2B0 80030EB0 45020017 */ bc1fl .L80030F10
/* 00C2B4 80030EB4 460C5181 */ sub.s $f6, $f10, $f12
/* 00C2B8 80030EB8 46128181 */ sub.s $f6, $f16, $f18
/* 00C2BC 80030EBC 46064102 */ mul.s $f4, $f8, $f6
/* 00C2C0 80030EC0 00000000 */ nop
/* 00C2C4 80030EC4 461A6081 */ sub.s $f2, $f12, $f26
/* 00C2C8 80030EC8 46081082 */ mul.s $f2, $f2, $f8
/* 00C2CC 80030ECC 00000000 */ nop
/* 00C2D0 80030ED0 460C5281 */ sub.s $f10, $f10, $f12
/* 00C2D4 80030ED4 460E6201 */ sub.s $f8, $f12, $f14
/* 00C2D8 80030ED8 4610C001 */ sub.s $f0, $f24, $f16
/* 00C2DC 80030EDC 46081083 */ div.s $f2, $f2, $f8
/* 00C2E0 80030EE0 46020000 */ add.s $f0, $f0, $f2
/* 00C2E4 80030EE4 46005082 */ mul.s $f2, $f10, $f0
/* 00C2E8 80030EE8 00000000 */ nop
/* 00C2EC 80030EEC 46003182 */ mul.s $f6, $f6, $f0
/* 00C2F0 80030EF0 00000000 */ nop
/* 00C2F4 80030EF4 46082103 */ div.s $f4, $f4, $f8
/* 00C2F8 80030EF8 460A2101 */ sub.s $f4, $f4, $f10
/* 00C2FC 80030EFC 46041083 */ div.s $f2, $f2, $f4
/* 00C300 80030F00 46181200 */ add.s $f8, $f2, $f24
/* 00C304 80030F04 46043183 */ div.s $f6, $f6, $f4
/* 00C308 80030F08 0800C3D8 */ j .L80030F60
/* 00C30C 80030F0C 461A3000 */ add.s $f0, $f6, $f26
.L80030F10:
/* 00C310 80030F10 460E6081 */ sub.s $f2, $f12, $f14
/* 00C314 80030F14 46023102 */ mul.s $f4, $f6, $f2
/* 00C318 80030F18 00000000 */ nop
/* 00C31C 80030F1C 46188001 */ sub.s $f0, $f16, $f24
/* 00C320 80030F20 46020002 */ mul.s $f0, $f0, $f2
/* 00C324 80030F24 00000000 */ nop
/* 00C328 80030F28 460CD081 */ sub.s $f2, $f26, $f12
/* 00C32C 80030F2C 46080003 */ div.s $f0, $f0, $f8
/* 00C330 80030F30 46001080 */ add.s $f2, $f2, $f0
/* 00C334 80030F34 46023182 */ mul.s $f6, $f6, $f2
/* 00C338 80030F38 00000000 */ nop
/* 00C33C 80030F3C 46128001 */ sub.s $f0, $f16, $f18
/* 00C340 80030F40 46020082 */ mul.s $f2, $f0, $f2
/* 00C344 80030F44 00000000 */ nop
/* 00C348 80030F48 46082103 */ div.s $f4, $f4, $f8
/* 00C34C 80030F4C 46002101 */ sub.s $f4, $f4, $f0
/* 00C350 80030F50 46043183 */ div.s $f6, $f6, $f4
/* 00C354 80030F54 46183200 */ add.s $f8, $f6, $f24
/* 00C358 80030F58 46041083 */ div.s $f2, $f2, $f4
/* 00C35C 80030F5C 461A1000 */ add.s $f0, $f2, $f26
.L80030F60:
/* 00C360 80030F60 E6280010 */ swc1 $f8, 0x10($s1)
/* 00C364 80030F64 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00C368 80030F68 12A0003E */ beqz $s5, .L80031064
/* 00C36C 80030F6C E6200018 */ swc1 $f0, 0x18($s1)
/* 00C370 80030F70 C6020018 */ lwc1 $f2, 0x18($s0)
/* 00C374 80030F74 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C378 80030F78 46001081 */ sub.s $f2, $f2, $f0
/* 00C37C 80030F7C C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C380 80030F80 44061000 */ mfc1 $a2, $f2
/* 00C384 80030F84 C6020020 */ lwc1 $f2, 0x20($s0)
/* 00C388 80030F88 4480A000 */ mtc1 $zero, $f20
/* 00C38C 80030F8C 46001081 */ sub.s $f2, $f2, $f0
/* 00C390 80030F90 4600A306 */ mov.s $f12, $f20
/* 00C394 80030F94 44071000 */ mfc1 $a3, $f2
/* 00C398 80030F98 0C00A720 */ jal atan2
/* 00C39C 80030F9C 4600A386 */ mov.s $f14, $f20
/* 00C3A0 80030FA0 E6200000 */ swc1 $f0, ($s1)
/* 00C3A4 80030FA4 C6000004 */ lwc1 $f0, 4($s0)
/* 00C3A8 80030FA8 4614003C */ c.lt.s $f0, $f20
/* 00C3AC 80030FAC 00000000 */ nop
/* 00C3B0 80030FB0 45030001 */ bc1tl .L80030FB8
/* 00C3B4 80030FB4 46000007 */ neg.s $f0, $f0
.L80030FB8:
/* 00C3B8 80030FB8 E6200004 */ swc1 $f0, 4($s1)
/* 00C3BC 80030FBC C6000008 */ lwc1 $f0, 8($s0)
/* 00C3C0 80030FC0 E6200008 */ swc1 $f0, 8($s1)
/* 00C3C4 80030FC4 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C3C8 80030FC8 0800C419 */ j .L80031064
/* 00C3CC 80030FCC E620000C */ swc1 $f0, 0xc($s1)
.L80030FD0:
/* 00C3D0 80030FD0 12A0001D */ beqz $s5, .L80031048
/* 00C3D4 80030FD4 00000000 */ nop
/* 00C3D8 80030FD8 C6020018 */ lwc1 $f2, 0x18($s0)
/* 00C3DC 80030FDC C600000C */ lwc1 $f0, 0xc($s0)
/* 00C3E0 80030FE0 46001081 */ sub.s $f2, $f2, $f0
/* 00C3E4 80030FE4 C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C3E8 80030FE8 44061000 */ mfc1 $a2, $f2
/* 00C3EC 80030FEC C6020020 */ lwc1 $f2, 0x20($s0)
/* 00C3F0 80030FF0 4480A000 */ mtc1 $zero, $f20
/* 00C3F4 80030FF4 46001081 */ sub.s $f2, $f2, $f0
/* 00C3F8 80030FF8 4600A306 */ mov.s $f12, $f20
/* 00C3FC 80030FFC 44071000 */ mfc1 $a3, $f2
/* 00C400 80031000 0C00A720 */ jal atan2
/* 00C404 80031004 4600A386 */ mov.s $f14, $f20
/* 00C408 80031008 E6200000 */ swc1 $f0, ($s1)
/* 00C40C 8003100C C6000004 */ lwc1 $f0, 4($s0)
/* 00C410 80031010 4614003C */ c.lt.s $f0, $f20
/* 00C414 80031014 00000000 */ nop
/* 00C418 80031018 45030001 */ bc1tl .L80031020
/* 00C41C 8003101C 46000007 */ neg.s $f0, $f0
.L80031020:
/* 00C420 80031020 E6200004 */ swc1 $f0, 4($s1)
/* 00C424 80031024 C6000008 */ lwc1 $f0, 8($s0)
/* 00C428 80031028 E6200008 */ swc1 $f0, 8($s1)
/* 00C42C 8003102C C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C430 80031030 E620000C */ swc1 $f0, 0xc($s1)
/* 00C434 80031034 C6000018 */ lwc1 $f0, 0x18($s0)
/* 00C438 80031038 E6200010 */ swc1 $f0, 0x10($s1)
/* 00C43C 8003103C C6000020 */ lwc1 $f0, 0x20($s0)
/* 00C440 80031040 0800C418 */ j .L80031060
/* 00C444 80031044 E6200018 */ swc1 $f0, 0x18($s1)
.L80031048:
/* 00C448 80031048 52E00006 */ beql $s7, $zero, .L80031064
/* 00C44C 8003104C E63E0014 */ swc1 $f30, 0x14($s1)
/* 00C450 80031050 C6400010 */ lwc1 $f0, 0x10($s2)
/* 00C454 80031054 E6200010 */ swc1 $f0, 0x10($s1)
/* 00C458 80031058 C6400018 */ lwc1 $f0, 0x18($s2)
/* 00C45C 8003105C E6200018 */ swc1 $f0, 0x18($s1)
.L80031060:
/* 00C460 80031060 E63E0014 */ swc1 $f30, 0x14($s1)
.L80031064:
/* 00C464 80031064 0800C4A6 */ j .L80031298
/* 00C468 80031068 2402FFFF */ addiu $v0, $zero, -1
/* 00C46C 8003106C 8E020028 */ lw $v0, 0x28($s0)
/* 00C470 80031070 1440003A */ bnez $v0, .L8003115C
/* 00C474 80031074 00000000 */ nop
/* 00C478 80031078 C60C0010 */ lwc1 $f12, 0x10($s0)
/* 00C47C 8003107C C6060018 */ lwc1 $f6, 0x18($s0)
/* 00C480 80031080 460C3181 */ sub.s $f6, $f6, $f12
/* 00C484 80031084 46063102 */ mul.s $f4, $f6, $f6
/* 00C488 80031088 00000000 */ nop
/* 00C48C 8003108C C60A001C */ lwc1 $f10, 0x1c($s0)
/* 00C490 80031090 C6080020 */ lwc1 $f8, 0x20($s0)
/* 00C494 80031094 460A4201 */ sub.s $f8, $f8, $f10
/* 00C498 80031098 46084382 */ mul.s $f14, $f8, $f8
/* 00C49C 8003109C 00000000 */ nop
/* 00C4A0 800310A0 460CC081 */ sub.s $f2, $f24, $f12
/* 00C4A4 800310A4 46061082 */ mul.s $f2, $f2, $f6
/* 00C4A8 800310A8 00000000 */ nop
/* 00C4AC 800310AC 460AD001 */ sub.s $f0, $f26, $f10
/* 00C4B0 800310B0 46080002 */ mul.s $f0, $f0, $f8
/* 00C4B4 800310B4 00000000 */ nop
/* 00C4B8 800310B8 460E2100 */ add.s $f4, $f4, $f14
/* 00C4BC 800310BC 46001080 */ add.s $f2, $f2, $f0
/* 00C4C0 800310C0 46041103 */ div.s $f4, $f2, $f4
/* 00C4C4 800310C4 46062182 */ mul.s $f6, $f4, $f6
/* 00C4C8 800310C8 00000000 */ nop
/* 00C4CC 800310CC 46082102 */ mul.s $f4, $f4, $f8
/* 00C4D0 800310D0 00000000 */ nop
/* 00C4D4 800310D4 460C3080 */ add.s $f2, $f6, $f12
/* 00C4D8 800310D8 44800000 */ mtc1 $zero, $f0
/* 00C4DC 800310DC 460A2100 */ add.s $f4, $f4, $f10
/* 00C4E0 800310E0 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00C4E4 800310E4 E6220010 */ swc1 $f2, 0x10($s1)
/* 00C4E8 800310E8 E6240018 */ swc1 $f4, 0x18($s1)
/* 00C4EC 800310EC C6080004 */ lwc1 $f8, 4($s0)
/* 00C4F0 800310F0 4600403C */ c.lt.s $f8, $f0
/* 00C4F4 800310F4 00000000 */ nop
/* 00C4F8 800310F8 45000008 */ bc1f .L8003111C
/* 00C4FC 800310FC 00000000 */ nop
/* 00C500 80031100 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C504 80031104 46001581 */ sub.s $f22, $f2, $f0
/* 00C508 80031108 C6020014 */ lwc1 $f2, 0x14($s0)
/* 00C50C 8003110C 46004007 */ neg.s $f0, $f8
/* 00C510 80031110 E6200004 */ swc1 $f0, 4($s1)
/* 00C514 80031114 0800C44C */ j .L80031130
/* 00C518 80031118 46022501 */ sub.s $f20, $f4, $f2
.L8003111C:
/* 00C51C 8003111C C600000C */ lwc1 $f0, 0xc($s0)
/* 00C520 80031120 46020581 */ sub.s $f22, $f0, $f2
/* 00C524 80031124 C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C528 80031128 E6280004 */ swc1 $f8, 4($s1)
/* 00C52C 8003112C 46040501 */ sub.s $f20, $f0, $f4
.L80031130:
/* 00C530 80031130 4406B000 */ mfc1 $a2, $f22
/* 00C534 80031134 44806000 */ mtc1 $zero, $f12
/* 00C538 80031138 4407A000 */ mfc1 $a3, $f20
/* 00C53C 8003113C 0C00A720 */ jal atan2
/* 00C540 80031140 46006386 */ mov.s $f14, $f12
/* 00C544 80031144 E6200000 */ swc1 $f0, ($s1)
/* 00C548 80031148 C6000008 */ lwc1 $f0, 8($s0)
/* 00C54C 8003114C E6200008 */ swc1 $f0, 8($s1)
/* 00C550 80031150 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C554 80031154 0800C482 */ j .L80031208
/* 00C558 80031158 E620000C */ swc1 $f0, 0xc($s1)
.L8003115C:
/* 00C55C 8003115C 12A00023 */ beqz $s5, .L800311EC
/* 00C560 80031160 00000000 */ nop
/* 00C564 80031164 C6060004 */ lwc1 $f6, 4($s0)
/* 00C568 80031168 44800000 */ mtc1 $zero, $f0
/* 00C56C 8003116C 00000000 */ nop
/* 00C570 80031170 4600303C */ c.lt.s $f6, $f0
/* 00C574 80031174 00000000 */ nop
/* 00C578 80031178 4500000A */ bc1f .L800311A4
/* 00C57C 8003117C 00000000 */ nop
/* 00C580 80031180 C6020018 */ lwc1 $f2, 0x18($s0)
/* 00C584 80031184 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C588 80031188 46001581 */ sub.s $f22, $f2, $f0
/* 00C58C 8003118C C6040020 */ lwc1 $f4, 0x20($s0)
/* 00C590 80031190 C6020014 */ lwc1 $f2, 0x14($s0)
/* 00C594 80031194 46003007 */ neg.s $f0, $f6
/* 00C598 80031198 E6200004 */ swc1 $f0, 4($s1)
/* 00C59C 8003119C 0800C470 */ j .L800311C0
/* 00C5A0 800311A0 46022501 */ sub.s $f20, $f4, $f2
.L800311A4:
/* 00C5A4 800311A4 C602000C */ lwc1 $f2, 0xc($s0)
/* 00C5A8 800311A8 C6000018 */ lwc1 $f0, 0x18($s0)
/* 00C5AC 800311AC 46001581 */ sub.s $f22, $f2, $f0
/* 00C5B0 800311B0 C6020014 */ lwc1 $f2, 0x14($s0)
/* 00C5B4 800311B4 C6000020 */ lwc1 $f0, 0x20($s0)
/* 00C5B8 800311B8 E6260004 */ swc1 $f6, 4($s1)
/* 00C5BC 800311BC 46001501 */ sub.s $f20, $f2, $f0
.L800311C0:
/* 00C5C0 800311C0 4406B000 */ mfc1 $a2, $f22
/* 00C5C4 800311C4 44806000 */ mtc1 $zero, $f12
/* 00C5C8 800311C8 4407A000 */ mfc1 $a3, $f20
/* 00C5CC 800311CC 0C00A720 */ jal atan2
/* 00C5D0 800311D0 46006386 */ mov.s $f14, $f12
/* 00C5D4 800311D4 E6200000 */ swc1 $f0, ($s1)
/* 00C5D8 800311D8 C6000008 */ lwc1 $f0, 8($s0)
/* 00C5DC 800311DC E6200008 */ swc1 $f0, 8($s1)
/* 00C5E0 800311E0 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C5E4 800311E4 0800C47D */ j .L800311F4
/* 00C5E8 800311E8 E620000C */ swc1 $f0, 0xc($s1)
.L800311EC:
/* 00C5EC 800311EC 52E00006 */ beql $s7, $zero, .L80031208
/* 00C5F0 800311F0 E63E0014 */ swc1 $f30, 0x14($s1)
.L800311F4:
/* 00C5F4 800311F4 C6000018 */ lwc1 $f0, 0x18($s0)
/* 00C5F8 800311F8 E6200010 */ swc1 $f0, 0x10($s1)
/* 00C5FC 800311FC C6000020 */ lwc1 $f0, 0x20($s0)
/* 00C600 80031200 E6200018 */ swc1 $f0, 0x18($s1)
/* 00C604 80031204 E63E0014 */ swc1 $f30, 0x14($s1)
.L80031208:
/* 00C608 80031208 0800C4A6 */ j .L80031298
/* 00C60C 8003120C 2402FFFF */ addiu $v0, $zero, -1
/* 00C610 80031210 E6380010 */ swc1 $f24, 0x10($s1)
/* 00C614 80031214 E63E0014 */ swc1 $f30, 0x14($s1)
/* 00C618 80031218 0800C4A7 */ j .L8003129C
/* 00C61C 8003121C E63A0018 */ swc1 $f26, 0x18($s1)
/* 00C620 80031220 C6020018 */ lwc1 $f2, 0x18($s0)
/* 00C624 80031224 C600000C */ lwc1 $f0, 0xc($s0)
/* 00C628 80031228 46001081 */ sub.s $f2, $f2, $f0
/* 00C62C 8003122C C6000014 */ lwc1 $f0, 0x14($s0)
/* 00C630 80031230 44061000 */ mfc1 $a2, $f2
/* 00C634 80031234 C6020020 */ lwc1 $f2, 0x20($s0)
/* 00C638 80031238 4480A000 */ mtc1 $zero, $f20
/* 00C63C 8003123C 46001081 */ sub.s $f2, $f2, $f0
/* 00C640 80031240 4600A306 */ mov.s $f12, $f20
/* 00C644 80031244 44071000 */ mfc1 $a3, $f2
/* 00C648 80031248 0C00A720 */ jal atan2
/* 00C64C 8003124C 4600A386 */ mov.s $f14, $f20
/* 00C650 80031250 E6200000 */ swc1 $f0, ($s1)
/* 00C654 80031254 C6000004 */ lwc1 $f0, 4($s0)
/* 00C658 80031258 4614003C */ c.lt.s $f0, $f20
/* 00C65C 8003125C 00000000 */ nop
/* 00C660 80031260 45030001 */ bc1tl .L80031268
/* 00C664 80031264 46000007 */ neg.s $f0, $f0
.L80031268:
/* 00C668 80031268 E6200004 */ swc1 $f0, 4($s1)
/* 00C66C 8003126C C6000008 */ lwc1 $f0, 8($s0)
/* 00C670 80031270 E6200008 */ swc1 $f0, 8($s1)
/* 00C674 80031274 C6000024 */ lwc1 $f0, 0x24($s0)
/* 00C678 80031278 E620000C */ swc1 $f0, 0xc($s1)
/* 00C67C 8003127C C6000018 */ lwc1 $f0, 0x18($s0)
/* 00C680 80031280 E6200010 */ swc1 $f0, 0x10($s1)
/* 00C684 80031284 C600001C */ lwc1 $f0, 0x1c($s0)
/* 00C688 80031288 E6200014 */ swc1 $f0, 0x14($s1)
/* 00C68C 8003128C C6000020 */ lwc1 $f0, 0x20($s0)
/* 00C690 80031290 2402FFFE */ addiu $v0, $zero, -2
/* 00C694 80031294 E6200018 */ swc1 $f0, 0x18($s1)
.L80031298:
/* 00C698 80031298 AE820000 */ sw $v0, ($s4)
.L8003129C:
/* 00C69C 8003129C 12E00048 */ beqz $s7, .L800313C0
/* 00C6A0 800312A0 24020005 */ addiu $v0, $zero, 5
/* 00C6A4 800312A4 8E030000 */ lw $v1, ($s0)
/* 00C6A8 800312A8 10620007 */ beq $v1, $v0, .L800312C8
/* 00C6AC 800312AC 00000000 */ nop
/* 00C6B0 800312B0 C6420000 */ lwc1 $f2, ($s2)
/* 00C6B4 800312B4 C6600000 */ lwc1 $f0, ($s3)
/* 00C6B8 800312B8 46001032 */ c.eq.s $f2, $f0
/* 00C6BC 800312BC 00000000 */ nop
/* 00C6C0 800312C0 4501003F */ bc1t .L800313C0
/* 00C6C4 800312C4 00000000 */ nop
.L800312C8:
/* 00C6C8 800312C8 C6400000 */ lwc1 $f0, ($s2)
/* 00C6CC 800312CC C6620000 */ lwc1 $f2, ($s3)
/* 00C6D0 800312D0 46020001 */ sub.s $f0, $f0, $f2
/* 00C6D4 800312D4 3C014040 */ lui $at, 0x4040
/* 00C6D8 800312D8 44811000 */ mtc1 $at, $f2
/* 00C6DC 800312DC 46000005 */ abs.s $f0, $f0
/* 00C6E0 800312E0 4602003C */ c.lt.s $f0, $f2
/* 00C6E4 800312E4 00000000 */ nop
/* 00C6E8 800312E8 45000035 */ bc1f .L800313C0
/* 00C6EC 800312EC 00000000 */ nop
/* 00C6F0 800312F0 C6400004 */ lwc1 $f0, 4($s2)
/* 00C6F4 800312F4 C6620004 */ lwc1 $f2, 4($s3)
/* 00C6F8 800312F8 46020001 */ sub.s $f0, $f0, $f2
/* 00C6FC 800312FC 3C014120 */ lui $at, 0x4120
/* 00C700 80031300 44812000 */ mtc1 $at, $f4
/* 00C704 80031304 46000005 */ abs.s $f0, $f0
/* 00C708 80031308 4604003C */ c.lt.s $f0, $f4
/* 00C70C 8003130C 00000000 */ nop
/* 00C710 80031310 4500002B */ bc1f .L800313C0
/* 00C714 80031314 00000000 */ nop
/* 00C718 80031318 C6400008 */ lwc1 $f0, 8($s2)
/* 00C71C 8003131C C6620008 */ lwc1 $f2, 8($s3)
/* 00C720 80031320 46020001 */ sub.s $f0, $f0, $f2
/* 00C724 80031324 3C013F80 */ lui $at, 0x3f80
/* 00C728 80031328 44813000 */ mtc1 $at, $f6
/* 00C72C 8003132C 46000005 */ abs.s $f0, $f0
/* 00C730 80031330 4606003C */ c.lt.s $f0, $f6
/* 00C734 80031334 00000000 */ nop
/* 00C738 80031338 45000021 */ bc1f .L800313C0
/* 00C73C 8003133C 00000000 */ nop
/* 00C740 80031340 C640000C */ lwc1 $f0, 0xc($s2)
/* 00C744 80031344 C662000C */ lwc1 $f2, 0xc($s3)
/* 00C748 80031348 46020001 */ sub.s $f0, $f0, $f2
/* 00C74C 8003134C 46000005 */ abs.s $f0, $f0
/* 00C750 80031350 4606003C */ c.lt.s $f0, $f6
/* 00C754 80031354 00000000 */ nop
/* 00C758 80031358 45000019 */ bc1f .L800313C0
/* 00C75C 8003135C 00000000 */ nop
/* 00C760 80031360 C6400010 */ lwc1 $f0, 0x10($s2)
/* 00C764 80031364 C6620010 */ lwc1 $f2, 0x10($s3)
/* 00C768 80031368 46020001 */ sub.s $f0, $f0, $f2
/* 00C76C 8003136C 46000005 */ abs.s $f0, $f0
/* 00C770 80031370 4604003C */ c.lt.s $f0, $f4
/* 00C774 80031374 00000000 */ nop
/* 00C778 80031378 45000011 */ bc1f .L800313C0
/* 00C77C 8003137C 00000000 */ nop
/* 00C780 80031380 C6400014 */ lwc1 $f0, 0x14($s2)
/* 00C784 80031384 C6620014 */ lwc1 $f2, 0x14($s3)
/* 00C788 80031388 46020001 */ sub.s $f0, $f0, $f2
/* 00C78C 8003138C 46000005 */ abs.s $f0, $f0
/* 00C790 80031390 4604003C */ c.lt.s $f0, $f4
/* 00C794 80031394 00000000 */ nop
/* 00C798 80031398 45000009 */ bc1f .L800313C0
/* 00C79C 8003139C 00000000 */ nop
/* 00C7A0 800313A0 C6400018 */ lwc1 $f0, 0x18($s2)
/* 00C7A4 800313A4 C6620018 */ lwc1 $f2, 0x18($s3)
/* 00C7A8 800313A8 46020001 */ sub.s $f0, $f0, $f2
/* 00C7AC 800313AC 46000005 */ abs.s $f0, $f0
/* 00C7B0 800313B0 4604003C */ c.lt.s $f0, $f4
/* 00C7B4 800313B4 00000000 */ nop
/* 00C7B8 800313B8 45030001 */ bc1tl .L800313C0
/* 00C7BC 800313BC E6C60000 */ swc1 $f6, ($s6)
.L800313C0:
/* 00C7C0 800313C0 8E830000 */ lw $v1, ($s4)
/* 00C7C4 800313C4 2402FFFF */ addiu $v0, $zero, -1
/* 00C7C8 800313C8 14620021 */ bne $v1, $v0, .L80031450
/* 00C7CC 800313CC 00000000 */ nop
/* 00C7D0 800313D0 12E00010 */ beqz $s7, .L80031414
/* 00C7D4 800313D4 00000000 */ nop
/* 00C7D8 800313D8 C6460010 */ lwc1 $f6, 0x10($s2)
/* 00C7DC 800313DC C6600010 */ lwc1 $f0, 0x10($s3)
/* 00C7E0 800313E0 C6440014 */ lwc1 $f4, 0x14($s2)
/* 00C7E4 800313E4 46003181 */ sub.s $f6, $f6, $f0
/* 00C7E8 800313E8 C6600014 */ lwc1 $f0, 0x14($s3)
/* 00C7EC 800313EC C6420018 */ lwc1 $f2, 0x18($s2)
/* 00C7F0 800313F0 46002101 */ sub.s $f4, $f4, $f0
/* 00C7F4 800313F4 C6600018 */ lwc1 $f0, 0x18($s3)
/* 00C7F8 800313F8 46001081 */ sub.s $f2, $f2, $f0
/* 00C7FC 800313FC 3C01800A */ lui $at, 0x800a
/* 00C800 80031400 E42608E4 */ swc1 $f6, 0x8e4($at)
/* 00C804 80031404 3C01800A */ lui $at, 0x800a
/* 00C808 80031408 E42408E8 */ swc1 $f4, 0x8e8($at)
/* 00C80C 8003140C 3C01800A */ lui $at, 0x800a
/* 00C810 80031410 E42208EC */ swc1 $f2, 0x8ec($at)
.L80031414:
/* 00C814 80031414 C6600010 */ lwc1 $f0, 0x10($s3)
/* 00C818 80031418 3C01800A */ lui $at, 0x800a
/* 00C81C 8003141C C42208E4 */ lwc1 $f2, 0x8e4($at)
/* 00C820 80031420 46020000 */ add.s $f0, $f0, $f2
/* 00C824 80031424 3C01800A */ lui $at, 0x800a
/* 00C828 80031428 C42208E8 */ lwc1 $f2, 0x8e8($at)
/* 00C82C 8003142C E6400010 */ swc1 $f0, 0x10($s2)
/* 00C830 80031430 C6600014 */ lwc1 $f0, 0x14($s3)
/* 00C834 80031434 46020000 */ add.s $f0, $f0, $f2
/* 00C838 80031438 3C01800A */ lui $at, 0x800a
/* 00C83C 8003143C C42208EC */ lwc1 $f2, 0x8ec($at)
/* 00C840 80031440 E6400014 */ swc1 $f0, 0x14($s2)
/* 00C844 80031444 C6600018 */ lwc1 $f0, 0x18($s3)
/* 00C848 80031448 46020000 */ add.s $f0, $f0, $f2
/* 00C84C 8003144C E6400018 */ swc1 $f0, 0x18($s2)
.L80031450:
/* 00C850 80031450 8FBF0048 */ lw $ra, 0x48($sp)
/* 00C854 80031454 8FB70044 */ lw $s7, 0x44($sp)
/* 00C858 80031458 8FB60040 */ lw $s6, 0x40($sp)
/* 00C85C 8003145C 8FB5003C */ lw $s5, 0x3c($sp)
/* 00C860 80031460 8FB40038 */ lw $s4, 0x38($sp)
/* 00C864 80031464 8FB30034 */ lw $s3, 0x34($sp)
/* 00C868 80031468 8FB20030 */ lw $s2, 0x30($sp)
/* 00C86C 8003146C 8FB1002C */ lw $s1, 0x2c($sp)
/* 00C870 80031470 8FB00028 */ lw $s0, 0x28($sp)
/* 00C874 80031474 D7BE0078 */ ldc1 $f30, 0x78($sp)
/* 00C878 80031478 D7BC0070 */ ldc1 $f28, 0x70($sp)
/* 00C87C 8003147C D7BA0068 */ ldc1 $f26, 0x68($sp)
/* 00C880 80031480 D7B80060 */ ldc1 $f24, 0x60($sp)
/* 00C884 80031484 D7B60058 */ ldc1 $f22, 0x58($sp)
/* 00C888 80031488 D7B40050 */ ldc1 $f20, 0x50($sp)
/* 00C88C 8003148C 03E00008 */ jr $ra
/* 00C890 80031490 27BD0080 */ addiu $sp, $sp, 0x80