Fatti:
A.
B._ è proprietario del fondo part. yyy di X._, situato nella zona residenziale R5 del piano regolatore comunale. Sulla particella sorge una casa d'abitazione monofamiliare articolata su due livelli (piano terreno e seminterrato). L'edificio non rispetta la distanza minima dai confini (5 m) vigente nella zona residenziale R5. Il 22 maggio 2011, il proprietario ha presentato al Municipio di X._ una domanda di costruzione per ampliare e sopraelevare di un piano l'abitazione, al fine di formare un secondo appartamento.
B.
Alla domanda si è opposta A._, proprietaria del fondo confinante part. zzz. Acquisito il preavviso favorevole dell'autorità cantonale, il 29 settembre 2011 il Municipio ha rilasciato la licenza edilizia, respingendo nel contempo l'opposizione della vicina. L'Esecutivo comunale ha in particolare ritenuto il progettato ampliamento conforme all'art. 63 delle norme di attuazione del piano regolatore (NAPR), che consente la sopraelevazione di un piano delle case monofamiliari esistenti in contrasto con le disposizioni sulle distanze.
C.
Adito dalla vicina, con decisione dell'11 gennaio 2012 il Consiglio di Stato ha parzialmente accolto il ricorso, confermando il rilascio della licenza edilizia alla condizione che la profondità della terrazza fosse ridotta a 1.80 m, al fine di rispettare l'indice di occupazione.
D.
Con sentenza del 20 giugno 2013, il Tribunale cantonale amministrativo ha parzialmente accolto un ricorso presentato dalla vicina contro la decisione governativa, annullandola e rinviando gli atti al Consiglio di Stato, affinché si pronunciasse nuovamente dopo avere esperito ulteriori accertamenti, segnatamente riguardo alle misure delle distanze dagli edifici sui fondi vicini, all'incarto energia che non era stato prodotto con la domanda di costruzione e alla carente documentazione relativa alle canne fumarie, nonché alla conformità del progetto con le norme di polizia del fuoco.
E.
Dopo avere esperito un'istruttoria, con decisione del 20 dicembre 2017 il Consiglio di Stato si è ripronunciato sul gravame della vicina, respingendolo. Il Governo ha confermato la licenza edilizia alla condizione che le dimensioni del balcone fossero ridotte al fine di rispettare l'arretramento di 5 m dai confini con i fondi part. zzz e www.
F.
A._ ha nuovamente impugnato la decisione governativa dinanzi al Tribunale cantonale amministrativo che, con sentenza del 22 gennaio 2019, ha parzialmente accolto il ricorso. La Corte cantonale ha confermato la licenza edilizia alla condizione che il balcone fosse arretrato fino alla distanza di 5 m dai citati confini e che le due canne fumarie sul tetto fossero elevate fino a 1.50 m dalla copertura. Ha inoltre negato l'approvazione dei pannelli solari previsti sul tetto, siccome non adeguatamente riportati nei piani della domanda di costruzione. La Corte cantonale ha contestualmente ritornato gli atti al Consiglio di Stato per una nuova decisione sulla tassa di giustizia e le ripetibili di quella sede alla luce del giudizio dell'ultima istanza cantonale.
G.
A._ impugna le sentenze del 20 giugno 2013 e del 22 gennaio 2019 della Corte cantonale con un ricorso in materia di diritto pubblico del 4 marzo 2019 al Tribunale federale. Chiede di annullarle e di annullare contestualmente le decisioni delle istanze inferiori. In via subordinata, postula l'annullamento della sentenza del 22 gennaio 2019 della Corte cantonale e il rinvio degli atti alla stessa, affinché proceda nel senso dei considerandi. La ricorrente fa valere l'accertamento arbitrario dei fatti, la violazione dell'art. 23 LPT e l'applicazione arbitraria del diritto cantonale, in particolare dell'art. 66 della legge ticinese sullo sviluppo territoriale, del 21 giugno 2011 (LST) e dell'art. 86 del regolamento della legge sullo sviluppo territoriale, del 20 dicembre 2011 (RLst). Lamenta inoltre la violazione delle norme in materia di protezione antincendio.
H.
La Corte cantonale comunica di non avere osservazioni da formulare. Il Consiglio di Stato, l'Ufficio delle domande di costruzione del Dipartimento del territorio e il Comune di X._ si rimettono al giudizio del Tribunale federale. B._ chiede invece di respingere il ricorso. La ricorrente ha replicato l'8 maggio 2019 alla risposta di quest'ultimo, che il 23 maggio 2019 ha comunicato di riconfermarsi nella risposta. L'Ufficio delle domande di costruzione e il Comune hanno comunicato, il 17 maggio 2019, rispettivamente il 21 maggio 2019, di rinunciare a presentare ulteriori osservazioni.
I.
Con decreto presidenziale del 29 marzo 2019, è stato conferito l'effetto sospensivo al ricorso.

Diritto:
1.
1.1. Presentato tempestivamente contro le decisioni del 20 giugno 2013 e del 22 gennaio 2019 dell'ultima istanza cantonale, che ha sostanzialmente confermato il rilascio della licenza edilizia, il ricorso in materia di diritto pubblico è ammissibile sotto il profilo degli art. 82 lett. a, 86 cpv. 1 lett. d e 100 cpv. 1 LTF (quest'ultimo in relazione con l'<ref-law>). La ricorrente, proprietaria di un fondo confinante con quello dedotto in edificazione, è legittimata a ricorrere giusta l'<ref-law>.
1.2. La sentenza del 22 gennaio 2019 può essere considerata di natura finale (<ref-law>), poiché statuisce definitivamente sul rilascio della licenza edilizia, rinviando gli atti al Consiglio di Stato solo per fissare nuovamente la tassa di giustizia e le ripetibili di quella sede. Si tratta al riguardo di un aspetto puramente accessorio rispetto al giudizio della Corte cantonale che pone fine al procedimento edilizio (cfr. sentenza 1C_416/2014 del 17 dicembre 2014 consid. 1; BERNARD CORBOZ, in: Commentaire de la LTF, 2aed., 2014, n. 9 e 10b all'<ref-law>).
In questa sede, la ricorrente è abilitata ad impugnare contestualmente con la decisione finale anche la sentenza del 20 giugno 2013 della Corte cantonale che, in quanto decisione di rinvio, è di natura incidentale ed ha influito sul contenuto di quella finale (cfr. <ref-law>; <ref-ruling> consid. 1.2 pag. 23 seg. rinvii). Nella sentenza del 20 giugno 2013, la Corte cantonale si è pronunciata sulla conformità del progetto con l'art. 63 NAPR, che disciplina, nel Comune di X._, la possibilità di eseguire ampliamenti delle costruzioni esistenti in contrasto con il diritto vigente. Contrariamente all'opinione dell'opponente B._, la ricorrente è quindi legittimata in questa sede a contestare l'applicabilità dell'art. 63 NAPR alla fattispecie, rispettivamente a fare valere l'applicazione arbitraria dell'art. 66 LST. Considerata la contestuale impugnabilità della decisione incidentale, non è in concreto determinante che questi aspetti non siano stati oggetto della sentenza del 22 gennaio 2019.
2.
2.1. La ricorrente fa valere la violazione dell'art. 23 LPT e l'arbitrio nell'applicazione degli art. 66 LST e 86 RLst, concernenti le eccezioni relative alle costruzioni esistenti in contrasto con il diritto nelle zone edificabili. Rimprovera alla Corte cantonale di avere, nella sentenza del 20 giugno 2013, manifestamente disatteso le citate disposizioni del diritto cantonale, ammettendo a torto la conformità dell'ampliamento progettato sulla base della disposizione comunale dell'art. 63 NAPR. Richiamando la sentenza n. 52.2013.370 del 19 gennaio 2015 del Tribunale cantonale amministrativo (pubblicata in: RtiD II-2015, n. 11, pag. 44 segg.), la ricorrente sostiene che l'art. 63 NAPR sarebbe in concreto inapplicabile, siccome ammetterebbe trasformazioni di edifici esistenti in contrasto con il diritto vigente a condizioni più favorevoli rispetto a quelle delle norme cantonali.
2.2.
2.2.1. Giusta l'art. 23 LPT, il diritto cantonale disciplina le eccezioni nelle zone edificabili. Questa disposizione lascia ai Cantoni la facoltà di regolamentare le condizioni materiali delle eccezioni alla conformità alla destinazione della zona edificabile, rispettivamente al rispetto delle prescrizioni edilizie cantonali e comunali. La norma rinvia ad una base legale nel diritto cantonale e non costituisce di per sé la base necessaria a disciplinare l'intervento edilizio litigioso (cfr. ALEXANDER RUCH, in: Praxiskommentar RPG, 2020, n. 4 e 23 all'art. 23 LPT). Nel Cantone Ticino, le eccezioni nelle zone edificabili concernenti le costruzioni esistenti in contrasto con il diritto sono regolate dagli art. 66 LST e 86 RLst, in vigore dal 1° gennaio 2012.
Trattandosi dell'applicazione di norme cantonali, la loro eventuale lesione è esaminata dal Tribunale federale sotto il profilo ristretto dell'arbitrio (<ref-ruling> consid. 3.1 pag. 579; <ref-ruling> consid. 1.2.1 pag. 251 seg.). L'arbitrio, vietato dall'<ref-law>, è ravvisabile quando la decisione impugnata risulta manifestamente insostenibile, in contraddizione palese con la situazione effettiva, gravemente lesiva di una norma o di un chiaro principio giuridico, o in contrasto intollerabile con il sentimento di giustizia e di equità. La decisione deve inoltre essere arbitraria nel suo risultato e non solo nella sua motivazione. Non risulta per contro arbitrio dal semplice fatto che anche un'altra soluzione potrebbe entrare in linea di conto o sarebbe addirittura preferibile (<ref-ruling> consid. 7.1 pag. 124; <ref-ruling> consid. 4.3 pag. 380; <ref-ruling> consid. 4.1 pag. 566 e rinvii). Una violazione arbitraria del diritto cantonale può in particolare realizzarsi quando è stata omessa la sua applicazione oppure se, in suo luogo, è stata applicata una disposizione non pertinente nel campo giuridico determinante (cfr. <ref-ruling> consid. 5d pag. 461; FELIX UHLMANN, Das Willkürverbot [art. 9 BV], 2005, pag. 26 n. 43).
2.2.2. Secondo l'art. 66 LST, è permessa la conservazione e la manutenzione di costruzioni esistenti in contrasto col nuovo diritto (cpv. 1). Possono essere autorizzate trasformazioni a condizione che il contrasto con il nuovo diritto non pregiudichi in modo apprezzabile l'interesse pubblico e quello dei vicini (cpv. 2 lett. a) e, per costruzioni non conformi alla zona (art. 22 cpv. 2 lett. a LPT), le trasformazioni siano giustificate da esigenze tecniche o funzionali e siano rispettate le altre disposizioni del piano regolatore (cpv. 2 lett. b). L'art. 66 cpv. 3 LST prevede che il piano regolatore può stabilire una regolamentazione più restrittiva.
Nella nozione di trasformazione ai sensi dell'art. 66 cpv. 2 LST rientrano anche gli ampliamenti e le modifiche di volumetria (cfr. Messaggio n. 6309 del 9 dicembre 2009 del Consiglio di Stato concernente il disegno di legge sullo sviluppo territoriale, pag. 88).
L'art. 86 cpv. 2 RLst precisa il caso delle trasformazioni non conformi alla zona (art. 66 cpv. 2 lett. b LST). L'art. 86 cpv. 3 RLst, nel tenore in vigore dal 2 aprile 2013 (cfr. BU 2013, pag. 145 seg.), prevede che, nel caso di costruzioni non conformi ad altre norme edilizie, il Municipio può autorizzare la trasformazione se: a) non incide sull'aspetto esterno o sui contenuti della costruzione, alterandone l'identità in misura significativa o comunque tale da consolidare i momenti di contrasto con il nuovo diritto; b) il contrasto con il nuovo diritto non pregiudica sensibilmente la funzionalità della zona e l'interesse dei vicini. Prima del 2 aprile 2013, l'art. 86 cpv. 3 RLst prevedeva che, nel caso di costruzioni non conformi ad altre norme edilizie, il Municipio può autorizzare la trasformazione se il contrasto con il nuovo diritto non pregiudica sensibilmente la funzionalità della zona e l'interesse dei vicini (cfr. BU 2011, pag. 639).
2.2.3. Secondo la sentenza del 19 gennaio 2015 della Corte cantonale, richiamata dalla ricorrente, gli art. 66 LST e 86 RLst trovano applicazione diretta nell'ambito della procedura di rilascio della licenza edilizia. Essi configurano, nel Cantone Ticino, la base legale riservata dall'art. 23 LPT per il rilascio di autorizzazioni edilizie eccezionali volte a permettere la trasformazione di edifici o impianti ubicati all'interno della zona edificabile che sono in contrasto con la funzione della zona in cui sorgono o con altre prescrizioni edilizie. Queste norme spiegano nel contempo effetti anche in materia di pianificazione del territorio, limitando in maniera sostanziale le possibilità, per i Comuni, di disciplinare autonomamente tali situazioni attraverso i piani regolatori, come è confermato dal testo del cpv. 3 dell'art. 66 LST, secondo cui "il piano regolatore può stabilire una regolamentazione più restrittiva". Nella citata sentenza, la Corte cantonale ha quindi precisato che, dal 1° gennaio 2012, la materia in esame è per principio disciplinata esaustivamente dal (solo) diritto cantonale, sia per quanto concerne le trasformazioni di edifici o impianti ubicati all'interno della zona edificabile che non sono più conformi alla funzione di zona, sia per le trasformazioni che concernono costruzioni esistenti in contrasto con altre prescrizioni edilizie. Da tale data, i Comuni possono unicamente prevedere, attraverso i piani di utilizzazione locali, delle ulteriori restrizioni rispetto alla possibilità, definita dalle citate disposizioni cantonali, di trasformare gli edifici in contrasto con il diritto. Queste restrizioni possono, al limite, anche sfociare nel divieto di ogni trasformazione. Inoltre, i Comuni non possono rilasciare licenze edilizie in contrasto con gli art. 66 LST e 86 RLst, fondate su norme comunali più favorevoli. La Corte cantonale ha quindi concluso che, nella misura in cui consentono interventi che travalicano quanto ammissibile in base al diritto cantonale, le norme comunali preesistenti sono inapplicabili (cfr. sentenza del Tribunale cantonale amministrativo n. 52.2013.370, citata, consid. 2.2.2). Questa giurisprudenza è stata successivamente confermata dalla Corte cantonale in ulteriori giudizi (cfr., in particolare, le sentenze n. 52.2015.372 del 19 settembre 2016 consid. 4.2 e n. 52.2016.449 del 6 dicembre 2017 consid. 4.1).
2.3.
2.3.1. Nella sentenza del 20 giugno 2013 qui impugnata, la Corte cantonale ha accertato, in modo vincolante per il Tribunale federale (cfr. <ref-law>), che l'edificio oggetto del prospettato ampliamento è ubicato a circa 3 m dai confini con i fondi contigui part. zzz, vvv e www. Esso disattende quindi la distanza minima dal confine (5 m) vigente nella zona residenziale R5 (cfr. art. 4 cpv. 1 lett. c NAPR). Si tratta pertanto di una costruzione esistente in contrasto con il diritto vigente.
La Corte cantonale nel giudizio del 20 giugno 2013, come il Consiglio di Stato nella sua decisione dell'11 gennaio 2012, ha esaminato l'intervento edilizio esclusivamente sotto il profilo dell'art. 63 NAPR, norma del diritto comunale che disciplina gli ampliamenti ammissibili per gli edifici situati a distanze inferiori a quelle prescritte dagli art. 3 e 4 NAPR, consentendo in particolare per le case monofamiliari la sopraelevazione di un piano. I giudici cantonali hanno ritenuto, senza invero spiegarne i motivi, che l'art. 63 NAPR costituiva una "lex specialis" per rapporto agli art. 66 LST e 86 RLst e non hanno perciò applicato le disposizioni cantonali. Questa conclusione è manifestamente in contrasto con l'art. 66 cpv. 3 LST che, come visto, non contempla una riserva generale a favore del diritto comunale, ma prevede unicamente che il piano regolatore può stabilire una regolamentazione più restrittiva (art. 66 cpv. 3 LST). In concreto, l'art. 63 NAPR consente ampliamenti rilevanti che possono essere più favorevoli rispetto ai limiti stabiliti dalle citate disposizioni cantonali e contrastare quindi in modo manifesto con le stesse. Contrariamente a quanto addotto dai giudici cantonali nella sentenza del 20 giugno 2013, gli art. 66 LST e 86 RLst sono pertanto di principio applicabili alla fattispecie. La decisione della precedente istanza di applicare in generale, quale "lex specialis", il diritto comunale, appare nelle esposte circostanze insostenibile.
2.3.2. Nella risposta al ricorso, l'opponente B._ sostiene che gli art. 66 LST e 86 RLst non sarebbero in concreto applicabili, siccome la licenza edilizia è stata rilasciata il 29 settembre 2011, prima della loro entrata in vigore (1° gennaio 2012). Rileva inoltre che, secondo la norma transitoria dell'art. 117 LST, le procedure in corso prima dell'entrata in vigore della LST sono concluse secondo il diritto anteriore. Richiamando l'art. 120 cpv. 1 LST, il resistente evidenzia altresì che il Comune disponeva di un periodo di cinque anni dall'entrata in vigore della LST per adottare il piano e il programma d'urbanizzazione. Adduce che la giurisprudenza cantonale citata è successiva alla sentenza del 20 giugno 2013 impugnata. Fa poi riferimento al lungo tempo trascorso dal rilascio della licenza edilizia e, richiamando il principio della parità di trattamento, afferma che il Municipio di X._ avrebbe rilasciato, nel medesimo periodo, sulla base dell'art. 63 NAPR, autorizzazioni per progetti simili nella stessa zona del piano regolatore.
Tuttavia, l'art. 117 LST, corrispondente all'art. 107 LST nel tenore precedente la modifica del 18 dicembre 2014 (cfr. BU 2015, pag. 40 segg.), concerne le procedure pianificatorie, segnatamente quelle avviate secondo la previgente legge cantonale di applicazione della LPT, del 23 maggio 1990 (LALPT), abrogata con l'entrata in vigore della LST (cfr. sentenza n. 52.2012.259 del 14 febbraio 2014 consid. 4.2, in: RtiD II-2014, n. 13, pag. 72 segg.; sentenza n. 90.2016.57 del 25 giugno 2018 consid. 1.2, in: RtiD I-2019, n. 8, pag. 49 segg.; Messaggio n. 6309, citato, pag. 123). Nella fattispecie, la controversia riguarda invece la procedura della licenza edilizia e, secondo la giurisprudenza cantonale, in quest'ambito gli art. 66 LST e 86 RLst si applicano direttamente. In tale circostanza, non è pertanto nemmeno determinante il suddetto termine quinquennale per adottare le citate componenti del piano regolatore (art. 120 cpv. 1 LST).
D'altra parte, in base all'invalsa prassi della precedente istanza, il Consiglio di Stato applica di principio il diritto in vigore al momento in cui emana la sua decisione (cfr. sentenza impugnata del 22 gennaio 2019 consid. 8.3; sentenza n. 52.2012.259, citata, consid. 4.2). In concreto, il Governo ha statuito sul ricorso della ricorrente contro il rilascio della licenza edilizia l'11 gennaio 2012, quando erano già in vigore gli art. 66 LST e 86 RLst, sicché avrebbe dovuto pronunciarsi sulla conformità del progetto con la normativa cantonale. A questa conclusione nulla muta l'accenno generico dell'opponente alla durata della procedura edilizia e al fatto che il Municipio di X._ avrebbe rilasciato autorizzazioni per progetti analoghi sulla base dell'art. 63 NAPR. Premesso che la licenza edilizia litigiosa è stata rilasciata dall'Esecutivo comunale prima dell'entrata in vigore delle citate disposizioni cantonali, il principio della parità di trattamento deve essere garantito con riferimento alla corretta applicazione della normativa cantonale nelle situazioni in cui essa torna applicabile.
2.4. In considerazione di quanto esposto, gli art. 66 LST e 86 RLst erano quindi applicabili al progetto di ampliamento litigioso. Omettendo di applicare queste disposizioni, le autorità cantonali le hanno quindi manifestamente disattese, violando in modo arbitrario il diritto cantonale (cfr. consid. 2.2.1).
Il ricorso si rivela pertanto fondato su questo punto. Di conseguenza, la sentenza del 20 giugno 2013 e quella del 22 gennaio 2019, sulla quale ha influito il primo giudizio, devono essere annullate. Gli atti devono essere rinviati alla Corte cantonale, affinché il progetto di costruzione sia esaminato sotto il profilo degli art. 66 LST e 86 RLst. L'autorità cantonale dovrà quindi statuire nuovamente sulla causa.
3.
Visto l'esito del gravame, non occorre vagliare le ulteriori censure sollevate, concernenti il rispetto delle norme di protezione antincendio, la conformità delle canne fumarie e la ripartizione delle spese giudiziarie e delle ripetibili della procedura ricorsuale dinanzi alla Corte cantonale. Alla luce di quanto esposto, poiché deve ancora essere statuito sull'ammissibilità del prospettato ampliamento, l'esame in questa sede delle contestazioni riguardanti le caratteristiche specifiche del progetto è prematuro.
4.
4.1. Il ricorso deve pertanto essere accolto. Le sentenze impugnate sono annullate e la causa rinviata alla Corte cantonale per una nuova decisione nel senso dei considerandi.
4.2. Le spese giudiziarie e le ripetibili seguono la soccombenza e sono quindi poste a carico dell'opponente (art. 66 cpv. 1 e art. 68 cpv. 1 LTF). Il loro ammontare è fissato tenendo conto del fatto che la censura trattata nel presente giudizio era determinante e sufficiente per statuire sul litigio.

Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è accolto. Le sentenze emanate il 20 giugno 2013 e il 22 gennaio 2019 dal Tribunale cantonale amministrativo sono annullate e la causa gli viene rinviata per un nuovo giudizio nel senso dei considerandi.
2.
Le spese giudiziarie di fr. 2'000.-- sono poste a carico di B._, che rifonderà alla ricorrente fr. 2'000.-- a titolo di ripetibili della sede federale.
3.
Comunicazione ai patrocinatori delle parti, al Municipio di X._, all'Ufficio delle domande di costruzione del Dipartimento del territorio, al Consiglio di Stato e al Tribunale amministrativo del Cantone Ticino.