Actually, 2634 bytes
;DY⌠;±2k.⌂⌡nfuóD;;1&YτD*k╔;╗3*;±kSix⌠;;AF@;1&@0>*YτD(s**╜=⌡░ Try it online! Brute-force saves the day
This answer utilizes the fact that, for all Fibonacci numbers \$ F = Fib(n) \$, \$F \gt 1 \land n \vert 2 \iff F = ExtFib(-n) \$. A special case is used to handle input of 1.Explanation:
;DY⌠;±2k.⌂⌡nfuóD;;1&YτD*k╔;╗3*;±kSix⌠;;AF@;1&@0>*YτD(s**╜=⌡░ ;DY⌠;±2k.⌂⌡n ;╗ special-casing for 1: ;DY save a copy of the input (let's call it duplicate,N) decrement,to logicalregister negate0 (turnsthe 1main intoway 1to andget othersadditional values into 0functions) 3*;± ⌠;±2k.⌂⌡n execute this code that many times: -3*N, 3*N ;±2k kSi make a push to list, fromsort, flatten (sort the existingtwo 1values on the stack, itsso negativethat they are in the right order for x) x range(min(-13*N, 3*N), andmax(-3*N, 23*N)) .⌂ ⌠;;AF@;1&@0>*YτD(s**╜=⌡░ filter (remove values where function leaves a non-truthy value on top of the stack): print the list and exit ;; f make indextwo incopies Fibonacciof sequenceparameter (-1 iflet's notcall Fibonacciit numbern) uóAF increment and conditionally terminate (terminate if -1 absolute value, Fib(|n|) D;;@; decrement bring a copy of n to the top of the stack and make twoanother copiescopy 1& 1&Y binary AND with 1, logical negate (1 0 if n is divisible by 2 else 1 @0> 1 if n is negative else 0 (using another copy of n) τD * double multiply those two values (acts as logical AND: is n negative and not divisible by 2) YτD logical negate, double, decrement (mapmaps [0, 1] to [-1[1, -1]) *k multiply(s Fibonacci index by result, push entire stack to list (eithersign [n,of n]n or(using [n,the -n]last copy) ╔ deduplicate list** multiply Fib([n]|n|), orsign [-of n, n]and result of complicated logic (deciding whether or not to flip the sign of the value for the extended sequence) ╜= push value from register 0, equality comparison (implicit1 printif value equals N else 0)