.include "macros.inc" .section .text, "ax" .global __ieee754_log __ieee754_log: /* 80392124 0038F084 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80392128 0038F088 3C 00 00 10 */ lis r0, 0x10 /* 8039212C 0038F08C 39 00 00 00 */ li r8, 0 /* 80392130 0038F090 D8 21 00 08 */ stfd f1, 8(r1) /* 80392134 0038F094 80 61 00 08 */ lwz r3, 8(r1) /* 80392138 0038F098 80 81 00 0C */ lwz r4, 0xc(r1) /* 8039213C 0038F09C 7C 03 00 00 */ cmpw r3, r0 /* 80392140 0038F0A0 40 80 00 54 */ bge lbl_80392194 /* 80392144 0038F0A4 54 60 00 7E */ clrlwi r0, r3, 1 /* 80392148 0038F0A8 7C 00 23 79 */ or. r0, r0, r4 /* 8039214C 0038F0AC 40 82 00 14 */ bne lbl_80392160 /* 80392150 0038F0B0 C8 22 D1 90 */ lfd f1, lbl_805AEEB0@sda21(r2) /* 80392154 0038F0B4 C8 0D AE 20 */ lfd f0, lbl_805A99E0@sda21(r13) /* 80392158 0038F0B8 FC 21 00 24 */ fdiv f1, f1, f0 /* 8039215C 0038F0BC 48 00 02 3C */ b lbl_80392398 lbl_80392160: /* 80392160 0038F0C0 2C 03 00 00 */ cmpwi r3, 0 /* 80392164 0038F0C4 40 80 00 1C */ bge lbl_80392180 /* 80392168 0038F0C8 FC 21 08 28 */ fsub f1, f1, f1 /* 8039216C 0038F0CC C8 0D AE 20 */ lfd f0, lbl_805A99E0@sda21(r13) /* 80392170 0038F0D0 38 00 00 21 */ li r0, 0x21 /* 80392174 0038F0D4 90 0D AE 10 */ stw r0, lbl_805A99D0@sda21(r13) /* 80392178 0038F0D8 FC 21 00 24 */ fdiv f1, f1, f0 /* 8039217C 0038F0DC 48 00 02 1C */ b lbl_80392398 lbl_80392180: /* 80392180 0038F0E0 C8 02 D1 98 */ lfd f0, lbl_805AEEB8@sda21(r2) /* 80392184 0038F0E4 39 00 FF CA */ li r8, -54 /* 80392188 0038F0E8 FC 01 00 32 */ fmul f0, f1, f0 /* 8039218C 0038F0EC D8 01 00 08 */ stfd f0, 8(r1) /* 80392190 0038F0F0 80 61 00 08 */ lwz r3, 8(r1) lbl_80392194: /* 80392194 0038F0F4 3C 00 7F F0 */ lis r0, 0x7ff0 /* 80392198 0038F0F8 7C 03 00 00 */ cmpw r3, r0 /* 8039219C 0038F0FC 41 80 00 10 */ blt lbl_803921AC /* 803921A0 0038F100 C8 01 00 08 */ lfd f0, 8(r1) /* 803921A4 0038F104 FC 20 00 2A */ fadd f1, f0, f0 /* 803921A8 0038F108 48 00 01 F0 */ b lbl_80392398 lbl_803921AC: /* 803921AC 0038F10C 54 66 03 3E */ clrlwi r6, r3, 0xc /* 803921B0 0038F110 7C 64 A6 70 */ srawi r4, r3, 0x14 /* 803921B4 0038F114 3C 66 00 09 */ addis r3, r6, 9 /* 803921B8 0038F118 C8 02 D1 A0 */ lfd f0, lbl_805AEEC0@sda21(r2) /* 803921BC 0038F11C 38 A3 5F 64 */ addi r5, r3, 0x5f64 /* 803921C0 0038F120 7D 04 42 14 */ add r8, r4, r8 /* 803921C4 0038F124 54 A3 02 D6 */ rlwinm r3, r5, 0, 0xb, 0xb /* 803921C8 0038F128 38 06 00 02 */ addi r0, r6, 2 /* 803921CC 0038F12C 6C 63 3F F0 */ xoris r3, r3, 0x3ff0 /* 803921D0 0038F130 39 08 FC 01 */ addi r8, r8, -1023 /* 803921D4 0038F134 7C C4 1B 78 */ or r4, r6, r3 /* 803921D8 0038F138 54 00 03 3E */ clrlwi r0, r0, 0xc /* 803921DC 0038F13C 90 81 00 08 */ stw r4, 8(r1) /* 803921E0 0038F140 54 A3 67 FE */ rlwinm r3, r5, 0xc, 0x1f, 0x1f /* 803921E4 0038F144 2C 00 00 03 */ cmpwi r0, 3 /* 803921E8 0038F148 C8 21 00 08 */ lfd f1, 8(r1) /* 803921EC 0038F14C 7D 08 1A 14 */ add r8, r8, r3 /* 803921F0 0038F150 FC 01 00 28 */ fsub f0, f1, f0 /* 803921F4 0038F154 40 80 00 A4 */ bge lbl_80392298 /* 803921F8 0038F158 C8 2D AE 20 */ lfd f1, lbl_805A99E0@sda21(r13) /* 803921FC 0038F15C FC 00 08 00 */ fcmpu cr0, f0, f1 /* 80392200 0038F160 40 82 00 40 */ bne lbl_80392240 /* 80392204 0038F164 2C 08 00 00 */ cmpwi r8, 0 /* 80392208 0038F168 40 82 00 08 */ bne lbl_80392210 /* 8039220C 0038F16C 48 00 01 8C */ b lbl_80392398 lbl_80392210: /* 80392210 0038F170 6D 03 80 00 */ xoris r3, r8, 0x8000 /* 80392214 0038F174 3C 00 43 30 */ lis r0, 0x4330 /* 80392218 0038F178 90 61 00 14 */ stw r3, 0x14(r1) /* 8039221C 0038F17C C8 62 D2 08 */ lfd f3, lbl_805AEF28@sda21(r2) /* 80392220 0038F180 90 01 00 10 */ stw r0, 0x10(r1) /* 80392224 0038F184 C8 02 D1 B0 */ lfd f0, lbl_805AEED0@sda21(r2) /* 80392228 0038F188 C8 41 00 10 */ lfd f2, 0x10(r1) /* 8039222C 0038F18C C8 22 D1 A8 */ lfd f1, lbl_805AEEC8@sda21(r2) /* 80392230 0038F190 FC 42 18 28 */ fsub f2, f2, f3 /* 80392234 0038F194 FC 00 00 B2 */ fmul f0, f0, f2 /* 80392238 0038F198 FC 21 00 BA */ fmadd f1, f1, f2, f0 /* 8039223C 0038F19C 48 00 01 5C */ b lbl_80392398 lbl_80392240: /* 80392240 0038F1A0 C8 62 D1 C0 */ lfd f3, lbl_805AEEE0@sda21(r2) /* 80392244 0038F1A4 FC 20 00 32 */ fmul f1, f0, f0 /* 80392248 0038F1A8 C8 42 D1 B8 */ lfd f2, lbl_805AEED8@sda21(r2) /* 8039224C 0038F1AC 2C 08 00 00 */ cmpwi r8, 0 /* 80392250 0038F1B0 FC 43 10 3C */ fnmsub f2, f3, f0, f2 /* 80392254 0038F1B4 FC A2 00 72 */ fmul f5, f2, f1 /* 80392258 0038F1B8 40 82 00 0C */ bne lbl_80392264 /* 8039225C 0038F1BC FC 20 28 28 */ fsub f1, f0, f5 /* 80392260 0038F1C0 48 00 01 38 */ b lbl_80392398 lbl_80392264: /* 80392264 0038F1C4 6D 03 80 00 */ xoris r3, r8, 0x8000 /* 80392268 0038F1C8 3C 00 43 30 */ lis r0, 0x4330 /* 8039226C 0038F1CC 90 61 00 14 */ stw r3, 0x14(r1) /* 80392270 0038F1D0 C8 82 D2 08 */ lfd f4, lbl_805AEF28@sda21(r2) /* 80392274 0038F1D4 90 01 00 10 */ stw r0, 0x10(r1) /* 80392278 0038F1D8 C8 22 D1 B0 */ lfd f1, lbl_805AEED0@sda21(r2) /* 8039227C 0038F1DC C8 61 00 10 */ lfd f3, 0x10(r1) /* 80392280 0038F1E0 C8 42 D1 A8 */ lfd f2, lbl_805AEEC8@sda21(r2) /* 80392284 0038F1E4 FC 63 20 28 */ fsub f3, f3, f4 /* 80392288 0038F1E8 FC 21 28 FC */ fnmsub f1, f1, f3, f5 /* 8039228C 0038F1EC FC 01 00 28 */ fsub f0, f1, f0 /* 80392290 0038F1F0 FC 22 00 F8 */ fmsub f1, f2, f3, f0 /* 80392294 0038F1F4 48 00 01 04 */ b lbl_80392398 lbl_80392298: /* 80392298 0038F1F8 C8 22 D1 C8 */ lfd f1, lbl_805AEEE8@sda21(r2) /* 8039229C 0038F1FC 6D 05 80 00 */ xoris r5, r8, 0x8000 /* 803922A0 0038F200 3C 80 43 30 */ lis r4, 0x4330 /* 803922A4 0038F204 3C 60 00 07 */ lis r3, 0x0006B851@ha /* 803922A8 0038F208 FC 21 00 2A */ fadd f1, f1, f0 /* 803922AC 0038F20C 3C E6 FF FA */ addis r7, r6, 0xfffa /* 803922B0 0038F210 38 03 B8 51 */ addi r0, r3, 0x0006B851@l /* 803922B4 0038F214 C9 02 D1 E8 */ lfd f8, lbl_805AEF08@sda21(r2) /* 803922B8 0038F218 C8 E2 D1 E0 */ lfd f7, lbl_805AEF00@sda21(r2) /* 803922BC 0038F21C 7C 06 00 50 */ subf r0, r6, r0 /* 803922C0 0038F220 FC 20 08 24 */ fdiv f1, f0, f1 /* 803922C4 0038F224 38 E7 EB 86 */ addi r7, r7, -5242 /* 803922C8 0038F228 C8 C2 D1 D8 */ lfd f6, lbl_805AEEF8@sda21(r2) /* 803922CC 0038F22C 7C E7 03 79 */ or. r7, r7, r0 /* 803922D0 0038F230 C8 82 D2 00 */ lfd f4, lbl_805AEF20@sda21(r2) /* 803922D4 0038F234 C8 62 D1 F8 */ lfd f3, lbl_805AEF18@sda21(r2) /* 803922D8 0038F238 FD 61 00 72 */ fmul f11, f1, f1 /* 803922DC 0038F23C C8 A2 D1 D0 */ lfd f5, lbl_805AEEF0@sda21(r2) /* 803922E0 0038F240 C8 42 D1 F0 */ lfd f2, lbl_805AEF10@sda21(r2) /* 803922E4 0038F244 90 A1 00 14 */ stw r5, 0x14(r1) /* 803922E8 0038F248 C9 42 D2 08 */ lfd f10, lbl_805AEF28@sda21(r2) /* 803922EC 0038F24C FD 8B 02 F2 */ fmul f12, f11, f11 /* 803922F0 0038F250 90 81 00 10 */ stw r4, 0x10(r1) /* 803922F4 0038F254 C9 21 00 10 */ lfd f9, 0x10(r1) /* 803922F8 0038F258 FC E8 3B 3A */ fmadd f7, f8, f12, f7 /* 803922FC 0038F25C FC 64 1B 3A */ fmadd f3, f4, f12, f3 /* 80392300 0038F260 FC 8C 31 FA */ fmadd f4, f12, f7, f6 /* 80392304 0038F264 FC 4C 10 FA */ fmadd f2, f12, f3, f2 /* 80392308 0038F268 FC 6C 29 3A */ fmadd f3, f12, f4, f5 /* 8039230C 0038F26C FC 4C 00 B2 */ fmul f2, f12, f2 /* 80392310 0038F270 FC 6B 00 F2 */ fmul f3, f11, f3 /* 80392314 0038F274 FC A9 50 28 */ fsub f5, f9, f10 /* 80392318 0038F278 FC 63 10 2A */ fadd f3, f3, f2 /* 8039231C 0038F27C 40 81 00 4C */ ble lbl_80392368 /* 80392320 0038F280 C8 42 D1 B8 */ lfd f2, lbl_805AEED8@sda21(r2) /* 80392324 0038F284 2C 08 00 00 */ cmpwi r8, 0 /* 80392328 0038F288 FC 42 00 32 */ fmul f2, f2, f0 /* 8039232C 0038F28C FC C2 00 32 */ fmul f6, f2, f0 /* 80392330 0038F290 40 82 00 14 */ bne lbl_80392344 /* 80392334 0038F294 FC 46 18 2A */ fadd f2, f6, f3 /* 80392338 0038F298 FC 21 30 BC */ fnmsub f1, f1, f2, f6 /* 8039233C 0038F29C FC 20 08 28 */ fsub f1, f0, f1 /* 80392340 0038F2A0 48 00 00 58 */ b lbl_80392398 lbl_80392344: /* 80392344 0038F2A4 C8 42 D1 B0 */ lfd f2, lbl_805AEED0@sda21(r2) /* 80392348 0038F2A8 FC 66 18 2A */ fadd f3, f6, f3 /* 8039234C 0038F2AC C8 82 D1 A8 */ lfd f4, lbl_805AEEC8@sda21(r2) /* 80392350 0038F2B0 FC 42 01 72 */ fmul f2, f2, f5 /* 80392354 0038F2B4 FC 21 10 FA */ fmadd f1, f1, f3, f2 /* 80392358 0038F2B8 FC 26 08 28 */ fsub f1, f6, f1 /* 8039235C 0038F2BC FC 01 00 28 */ fsub f0, f1, f0 /* 80392360 0038F2C0 FC 24 01 78 */ fmsub f1, f4, f5, f0 /* 80392364 0038F2C4 48 00 00 34 */ b lbl_80392398 lbl_80392368: /* 80392368 0038F2C8 2C 08 00 00 */ cmpwi r8, 0 /* 8039236C 0038F2CC 40 82 00 10 */ bne lbl_8039237C /* 80392370 0038F2D0 FC 40 18 28 */ fsub f2, f0, f3 /* 80392374 0038F2D4 FC 21 00 BC */ fnmsub f1, f1, f2, f0 /* 80392378 0038F2D8 48 00 00 20 */ b lbl_80392398 lbl_8039237C: /* 8039237C 0038F2DC C8 42 D1 B0 */ lfd f2, lbl_805AEED0@sda21(r2) /* 80392380 0038F2E0 FC 60 18 28 */ fsub f3, f0, f3 /* 80392384 0038F2E4 C8 82 D1 A8 */ lfd f4, lbl_805AEEC8@sda21(r2) /* 80392388 0038F2E8 FC 42 01 72 */ fmul f2, f2, f5 /* 8039238C 0038F2EC FC 21 10 F8 */ fmsub f1, f1, f3, f2 /* 80392390 0038F2F0 FC 01 00 28 */ fsub f0, f1, f0 /* 80392394 0038F2F4 FC 24 01 78 */ fmsub f1, f4, f5, f0 lbl_80392398: /* 80392398 0038F2F8 38 21 00 20 */ addi r1, r1, 0x20 /* 8039239C 0038F2FC 4E 80 00 20 */ blr