[Question]
  [
Your task is to output a representation of the legendary tree of life, [Yggdrasil](http://en.wikipedia.org/wiki/Yggdrasil).
You must write a program whose output is exactly that :
```
                                       /\
                                      /**\
                                     /****\
                                    /******\
                                    /******\
                                   /********\
                                  /**********\
                                 /************\
                                /**************\
                                 /************\
                                /**************\
                               /****************\
                              /******************\
                             /********************\
                            /**********************\
                              /******************\
                             /********************\
                            /**********************\
                           /************************\
                          /**************************\
                         /****************************\
                        /******************************\
                           /************************\
                          /**************************\
                         /****************************\
                        /******************************\
                       /********************************\
                      /**********************************\
                     /************************************\
                    /**************************************\
                        /******************************\
                       /********************************\
                      /**********************************\
                     /************************************\
                    /**************************************\
                   /****************************************\
                  /******************************************\
                 /********************************************\
                /**********************************************\
                     /************************************\
                    /**************************************\
                   /****************************************\
                  /******************************************\
                 /********************************************\
                /**********************************************\
               /************************************************\
              /**************************************************\
             /****************************************************\
            /******************************************************\
                  /******************************************\
                 /********************************************\
                /**********************************************\
               /************************************************\
              /**************************************************\
             /****************************************************\
            /******************************************************\
           /********************************************************\
          /**********************************************************\
         /************************************************************\
        /**************************************************************\
               /************************************************\
              /**************************************************\
             /****************************************************\
            /******************************************************\
           /********************************************************\
          /**********************************************************\
         /************************************************************\
        /**************************************************************\
       /****************************************************************\
      /******************************************************************\
     /********************************************************************\
    /**********************************************************************\
            /******************************************************\
           /********************************************************\
          /**********************************************************\
         /************************************************************\
        /**************************************************************\
       /****************************************************************\
      /******************************************************************\
     /********************************************************************\
    /**********************************************************************\
   /************************************************************************\
  /**************************************************************************\
 /****************************************************************************\
/******************************************************************************\
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |--------|
                                   |________|
```
There is no trailing whitespace. The final newline may be omitted.
To make checking easier, here are the md5 sums of the expected output:
* `374899e56bc854d04639c43120642e37` - No newline at end.
* `03afb81d960b8e130fe2f9e0906f0482` - Newline at end
Standard loopholes apply.
This is code-golf, so the smallest entry in bytes win!
  
[Answer]
# [Haml](http://haml.info/) & [Sass](http://sass-lang.com/guide)
# 37 + 277 = 314
**Haml:**
```
%link(rel="stylesheet" href="s")
%pre
```
**Sass:**
```
pre:after{$l:"";@for$k from0 to10{@for$i from0 to4+$k{@for$j from0 to40-($k*6+$i*2)/2{$l:$l+' ';}$l:$l+'/';@for$j from0 to$k*6+$i*2{$l:$l+'*';}$l:$l+"\\\a ";}}@for$i from0 to12{@for$j from0 to35{$l:$l+" ";}@if$i<11{$l:$l+"|--------|\a ";}@else{$l:$l+"|________|";}}content:$l;}
```
\*Sass allows control directives, concatenation, and variable dereference. All of which are useful when styling, but verbose while golfing.
---
*gets generated into:*
**HTML:**
```
<link rel="stylesheet" href="s" /><pre></pre>
```
**CSS:**
```
pre:after {
  content: "                                        /\\\a                                        /**\\\a                                       /****\\\a                                      /******\\\a                                      /******\\\a                                     /********\\\a                                    /**********\\\a                                   /************\\\a                                  /**************\\\a                                   /************\\\a                                  /**************\\\a                                 /****************\\\a                                /******************\\\a                               /********************\\\a                              /**********************\\\a                                /******************\\\a                               /********************\\\a                              /**********************\\\a                             /************************\\\a               
             /**************************\\\a                           /****************************\\\a                          /******************************\\\a                             /************************\\\a                            /**************************\\\a                           /****************************\\\a                          /******************************\\\a                         /********************************\\\a                        /**********************************\\\a                       /************************************\\\a                      /**************************************\\\a                          /******************************\\\a                         /********************************\\\a                        /**********************************\\\a                       /************************************\\\a                      /**************************************\\\a                     /******************************
**********\\\a                    /******************************************\\\a                   /********************************************\\\a                  /**********************************************\\\a                       /************************************\\\a                      /**************************************\\\a                     /****************************************\\\a                    /******************************************\\\a                   /********************************************\\\a                  /**********************************************\\\a                 /************************************************\\\a                /**************************************************\\\a               /****************************************************\\\a              /******************************************************\\\a                    /******************************************\\\a                   /**********************************
**********\\\a                  /**********************************************\\\a                 /************************************************\\\a                /**************************************************\\\a               /****************************************************\\\a              /******************************************************\\\a             /********************************************************\\\a            /**********************************************************\\\a           /************************************************************\\\a          /**************************************************************\\\a                 /************************************************\\\a                /**************************************************\\\a               /****************************************************\\\a              /******************************************************\\\a             /*****************************************************
***\\\a            /**********************************************************\\\a           /************************************************************\\\a          /**************************************************************\\\a         /****************************************************************\\\a        /******************************************************************\\\a       /********************************************************************\\\a      /**********************************************************************\\\a              /******************************************************\\\a             /********************************************************\\\a            /**********************************************************\\\a           /************************************************************\\\a          /**************************************************************\\\a         /****************************************************************\\\a        /*********
*********************************************************\\\a       /********************************************************************\\\a      /**********************************************************************\\\a     /************************************************************************\\\a    /**************************************************************************\\\a   /****************************************************************************\\\a  /******************************************************************************\\\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    |--------|\a                                    
|--------|\a                                    |--------|\a                                    |________|"; }
```
---
*the resulting [page](http://luxe.github.io/code-golf/Yggdrasil/)*
[Answer]
# Golfscript, ~~84~~ ~~[77](http://golfscript.apphb.com/?c=MTAsey40KjQrLFwzKj57LjM5XC0nICcqJy8nQDIqJyonKidcXCdufS99LzEyLHsnICczNSonfCdAJ18tJ1wxMTxbPV04Kid8JytufS8%3D)~~ ~~[76](http://golfscript.apphb.com/?c=MTAsey40KjQrLFwzKj57LjM5XC0nICcqJy8nQDIqJyonKidcXCdufS99LzEyLHsnICczNSonfCdAMTE8J18tJ1s9XTgqJ3wnK259Lw%3D%3D)~~ ~~[75](http://golfscript.apphb.com/?c=MTAsey40KjQrLFwzKj57LjM5XC0nICcqJy8nQDIqJyonKidcXCdufS99LzEyLHsnICczNSonfCdAMTE8J18tJ1s9XTgqMSQrbn0v)~~ [72](http://golfscript.apphb.com/?c=MTAsey4pNCosXDMqPnsuMzlcLScgJyonLydAMionKicqJ1wKJ30vfS8xMix7JyAnMzUqJ3wnQDExPCdfLScxLz04KjEkbn0v) characters
Different approach from [Howard's](https://codegolf.stackexchange.com/a/36442/4800). Click on the character count to try it.
```
10,{.)4*,\3*>{.39\-' '*'/'@2*'*'*'\
'}/}/12,{' '35*'|'@11<'_-'1/=8*1$n}/
```
Thanks to Howard for saving 3 characters!
**Explanation**:
This is more or less a straightforward port of [my Python solution](https://codegolf.stackexchange.com/a/36439/4800). Taking some expressive liberties (using named variables instead of keeping track of stack positions, and `print` is really keeping things on the stack, not printing):
```
10,{...}/            # for i in range(10):
   .                 #    x = i
   )4*,              #    Y = range((i+1)*4)
   \3*               #    x *= 3
   >                 #    Y = Y[x:]  # y is now range(3*i, (i+1)*4)
   {...}/            #    for j in Y:
      .39\-          #        q = 39 - j
      ' '*           #        print ' '*q  # print right number of spaces
      '/'            #        print '/'
      @2*            #        j *= 2
      '*'*           #        print '*'*j
      '\<NEWLINE>'   #        print "\\\n"
12,{...}/            # for i in range(12):
    ' '35*           #    print ' '*35
    '|'              #    print '|'
    @11<             #    i = i < 11
    '_-'1/=          #    z = "_-"[i] # pick "-" if i < 11, else pick "_"
    8*               #    print z*8
    1$               #    print '|' # (copy from earlier in the stack)
    n                #    print "\n"
```
[Answer]
# [CJam](https://sourceforge.net/p/cjam), 62 bytes
```
A,{I4+,{I3*J+_39\-S*'/@2*'**'\N}fJ}fI{35S*'|'-8*'|N++}C*'-/'_*
```
[Try it online!](https://tio.run/##S85KzP3/31Gn2tNEG0gYa3lpxxtbxugGa6nrOxhpqWtpqcf41aZ51aZ5VhubAkVr1HUtgKSftnats5a6rr56vNb//wA "CJam – Try It Online")
### How it works
```
A,           " Push [ 0  …  9 ].                                                   ";
{            " For each I in that array:                                           ";
  I4+,       " Push [ 0  …  I + 3 ].                                               ";
  {          " For each J in that array:                                           ";
    I3*J+_   " Push K := 3 * I + J twice.                                          ";
    39\-S*   " Push a string consisting of 39 - K spaces.                          ";
    '/       " Push a slash.                                                       ";
    @2*'**   " Push a string consisting of 2 * K asterisks.                        ";
    '\N      " Push a backslash and a linefeed.                                    ";
  }fJ        "                                                                     ";
}fI          "                                                                     ";
{            " Do the following 12 times:                                          ";
  35S*       " Push a string consisting of 35 spaces.                              ";
  '|         " Push a vertical bar.                                                ";
  '-8*'|++   " Push the string '--------|\n'.                                      ";
}C*          "                                                                     ";
'-/'_*       " Replace the hyphen-minus signs of the last string with underscores. ";
```
[Answer]
### GolfScript, 79 characters
```
10,{:^4+,{2*^6*+'*'*.,2/~40+' '*'/'@'\
'}/}/[' '35*]12*'|--------|
'*'||''_'8**
```
Try the code [here](http://golfscript.apphb.com/?c=MTAsezpeNCssezIqXjYqKycqJyouLDIvfjQwKycgJyonLydAJ1wKJ30vfS9bJyAnMzUqXTEyKid8LS0tLS0tLS18CicqJ3x8JydfJzgqKg%3D%3D&run=true). Note that the line breaks aren't optional in this code
[Answer]
# Python, ~~148~~ ~~129~~ ~~126~~ 121 characters
```
R=range
for i in R(10):
 for j in R(i*3,4+i*4):print' '*(39-j)+'/'+'**'*j+'\\'
for c in'-'*11+'_':print' '*35+'|'+c*8+'|'
```
Thanks to [Falko](https://codegolf.stackexchange.com/questions/36431/output-the-legendary-yggdrasil/36439?noredirect=1#comment81623_36439) for saving 3 characters and to [flornquake](https://codegolf.stackexchange.com/questions/36431/output-the-legendary-yggdrasil/36439?noredirect=1#comment81902_36439) for brilliantly saving another 5!
[Answer]
# Bash, ~~236 197~~ 193
10 bytes of code + 1-byte filename + 182-byte data file = 193 bytes total
```
zcat y 2>j
```
## Explanation
`y` is a file containing the Yggdrasil, without a trailing new line, compressed with the [zopfli](https://code.google.com/p/zopfli/) algorithm (invoked as `zopfli --i64`) and then with the last 8 bytes removed. zopfli is compatible with gzip, so I can decompress the file with standard Bash utilities designed for gzip. The size of the data file is 182 bytes (229 bytes when normal gzip is used). The size of the original Yggdrasil, without the trailing new line, is 5876 bytes. 
The removal of the last 8 bytes causes error messages, which are suppressed by sending standard error to a file called `j`. If `j` exists, it will be overwritten.
The base64 of `y` is (use `base64 -d` to obtain the original file):
```
H4sIAAAAAAACA+3SMQoCURDA0N5TWC+IFxK8yD/8Nul9hfDRnamT6J+du83zdUPwOACNNDb0+3Bs
tMPhSscDvusHgM9wIcUNclL+5r/luJXkmlh5rM3r8txkMdVNcEn1Nc2a1AU72XWz3Xd91r5z7eZD
AQKQgAI0PDFf8xJfExpQgQhkpAIdz8ytzK3AQMg6UMIQpLQELU/NQc5B/thBegtqHpOc16jHOX/v
x1mPZg19MfrdrBM=
```
And the md5sum is:
```
4a049a80241160cdde0a3cbca323b7f2
```
[Answer]
# C, 169
```
i;j;p(a,b){while(b--)putchar(a);}main(){for(;i++<10;)for(j=i*3-4;++j<i*4;p(32,39-j),p(47,1),p(42,j*2),puts("\\"));for(++i;i--;p(32,35),p(124,1),p(i?45:95,8),puts("|"));}
```
Ungolfed (and slightly disentangled):
```
int i;
int j;
void p(a,b) {
  while (b--) putchar(a);
}
void main() {
  for (;i++<10;) {
    for (j=i*3-4;++j<i*4;) {
      p(32,39-j);
      p(47,1);
      p(42,j*2);
      puts("\\");
    }
  }
  for (++i;i--;) {
    p(32,35);
    p(124,1);
    p(i?45:95,8);
    puts("|");
  }
}
```
[Answer]
## Ruby - 100
```
puts (0..21).map{|i|i>9??\ *35+?|+(i>20??_:?-)*8+?|:(0..i+3).map{|y|?\ *(39-z=y+3*i)+?/+?**z*2+?\\}}
```
Puts auto-flattens, so we can collect all the lines even in nested arrays. Needs Ruby 1.9
Try at [ideone](http://ideone.com/7FvXVA)
[Answer]
# PowerShell ~~104~~ 101
```
0..9|%{(3*$_)..(3+$_*4)|%{" "*(39-$_)+"/"+"*"*2*$_+"\"}};0..11|%{" "*35+"|"+("-","_")[$_-eq11]*8+"|"}
```
[Answer]
## C# ~~258~~ 234bytes
Thanks to some annoymous user for the suggested edits making good use of the String.PadLeft method!
```
using System;class G{static void Main(){Action<string>p=Console.WriteLine;int i=0,j;for(;i++<10;)for(j=i*3-3;j++<i*4;)p("/".PadLeft(41-j)+"\\".PadLeft(2*j-1,'*'));while(i-->0)p("|--------|".PadLeft(45));p("|________|".PadLeft(45));}}
```
The code is pretty simple, not much left to golf.
Formatted code:
```
using System;
class G
{
    static void Main()
    {
        Action<string> p = Console.WriteLine;
        int i = 0, j;
        for(; i++ < 10 ;)
            for(j = i*3 - 3; j++ < i*4;)
                p("/".PadLeft(41 - j) + "\\".PadLeft(2*j - 1,'*'));
        while(i-- > 0)
            p("|--------|".PadLeft(45));
        p("|________|".PadLeft(45));
    }
}
```
[Answer]
## J, ~~98 88 84~~ 75
```
(85 11 1#3 4$' /*\ |-| |_|')#"1~(39&-,1,+:,1:)"0(12$4),~85(-4&+#-:*>:)&i.10
```
[Answer]
# Perl, 127
```
for$i(0..9){for$j($i*3..3+$i*4){print" "x(39-$j),"/","*"x($j*2),"\\\n";}}for$i(0..11){print" "x35,"|",($i>10?"_":"-")x8,"|\n";}
```
### Ungolfed:
```
for $i (0..9) {
  for $j ($i*3..3+$i*4) {
    print " "x(39-$j) , "/" , "*"x($j*2) , "\\\n";
  }
}
for $i (0..11) {
  print " "x35 , "|" , ($i>10?"_":"-")x8 , "|\n";
}
```
[Answer]
# Ruby - ~~139~~ ~~129~~ ~~126~~ ~~123~~ 121
Hoisted "puts" outside of array creation (suggestion from bitpwner).
```
puts (0..9).map{|i|(i*3...(i+1)*4).map{|j|"/#{'**'*j}\\".rjust(41+j,' ')}}+["%45s"%'|--------|']*11<<'%45s'%'|________|'
```
  
Ungolfed ("puts" unhoisted):
```
# print fill patterns from the intervals
# [0..3, 3..7, 6..11, 9..15, 12..19, 15..23, 18..27, 21..31, 24..35, 27..39]
# centered on columns 81-82
(0..9).each { |i|
  (i*3...(i+1)*4).each { |j|    # x...y vs x..y-1 saves a char
    puts "/#{'**'*j}\\".rjust(41+j,' ')
  }
}
# print the stump
puts ("%45s\n" % '|--------|') * 11
puts '%45s' % '|________|'
```
[Answer]
# PHP 223 202 181 160 156
Edit I figured out how to alias a function with a variable and was able to chop off some more characters. That `str_repeat` function was really verbose
Edit 2: Thanks everyone for the suggestions!
Golfed:
```
<?$s=str_repeat;for($i=-1;$i++<9;)for($j=$i*3;$j<4+$i*4;)echo$s(' ',39-$j).'/'.$s('**',$j++)."\\
";for($i=12;$i--;)echo$s(' ',35),'|'.$s($i?'-':'_',8)."|
";
```
Readable:
```
    <?
$s=str_repeat;
for($i=-1;$i++<9;)
{
    for($j=$i*3;$j<4+$i*4;)
    {
        echo$s(' ',39-$j).'/'.$s('**',$j++)."\\
        ";
    }
}
for($i=12;$i--;)
{
    echo$s(' ',35),'|'.$s($i?'-':'_',8)."|
    ";
}
```
Output: <http://brobin.me/yggdrasil.php>
[Answer]
# Delphi 429
Will try to improve later.  
Golfed
```
uses strutils,SysUtils,Classes;const a='|----';b='|____';c:array [0..9,0..1]of int32=((0,3),(3,7),(6,11),(9,15),(12,19),(15,23),(18,27),(21,31),(24,35),(27,39));var t:TStrings;i,j:integer;begin t:=tstringlist.Create;for I:=0to 9do for J:=c[i,0]to c[i,1]do t.Add('/'+StringOfChar('*',j));for I:=0to 10do t.Add(a);t.Add(b);for I:=0to t.Count-1do t[i]:=t[i].PadLeft(40)+ReverseString(t[i]).Replace('/','\');write(T.TEXT);readln;end.
```
ungolfed
```
uses
  strutils,SysUtils,Classes;
const
  a='|----';
  b='|____';
  c:array [0..9,0..1]of int32=((0,3),(3,7),(6,11),(9,15),(12,19),(15,23),(18,27),(21,31),(24,35),(27,39));
var
  t:TStrings;
  i,j:integer;
begin
  t:=tstringlist.Create;
  for I:=0to 9do
    for J:=c[i,0]to c[i,1]do
      t.Add('/'+StringOfChar('*',j));
  for I:=0to 10do
    t.Add(a);
  t.Add(b);
  for I:=0to t.Count-1do
    t[i]:=t[i].PadLeft(40)+ReverseString(t[i]).Replace('/','\');
  write(T.TEXT);
  readln;
end.
```
[Answer]
## Javascript, 288 281
Chrome hides duplicated `console.log`s, use IE instead.
```
function t(w){s="";for(i=0;i++<39-w;)s+=" ";s+="/";for(i=0;i++<w*2;)s+="*";return s+"\\"}function r(l){s="";for(i=0;i++<36;)s+=" ";s+="|";for(i=0;i++<8;)s+=l;return s+"|"}w=0;c=console;for(h=0;h++<10;){for(j=0;j++<3+h;)c.log(t(w++));w-=h}for(j=0;j++<11;)c.log(r('-'));c.log(r('_'))
```
Ungolfed:
```
function t(w)
{
    s="";
    for(i=0;i++<39-w;)
        s+=" ";
    s+="/";
    for(i=0;i++<w*2;)
        s+="*";
    return s+"\\"
}
function r(l)
{
    s="";
    for(i=0;i++<36;)
        s+=" ";
    s+="|";
    for(i=0;i++<8;)
        s+=l;
    return s+"|"
}
w=0;
c=console;
for(h=0;h++<10;)
{
    for(j=0;j++<3+h;)
        c.log(t(w++));
    w-=h;
}
for(j=0;j++<11;)
    c.log(r('-'));
c.log(r('_'))
```
[Answer]
## JavaScript (console.log), ~~168~~ 166
(Whitespace for readability only)
```
for(i=c=0;i<11;i++)
  for(j=0;j<4+i&!c;j++)
    l=i*13+j,
    a=Array(n=i-10?3*i+j+1:5).join("*-_"[k=(l>129)+(c=l==141)]),
    console.log(Array(41-n).join(" ")+'/||'[k]+a+a+'\\||'[k])
```
[Answer]
# C (219)
Thanks to everyone for the golfing tips -- managed to get it down to 219. Don't think it'll go much lower.
```
w,W,s,S,i,r;main(){char T[78];memset(T,42,78);for(r=4,s=39;r<14;++r,s-=3,w+=6)for(i=0,S=s,W=w;i<r;++i,W+=2,--S)printf("%*s/%.*s\\\n",S,"",W,T);for(i=0;i<11;i++)printf("%35s|--------|\n","");printf("%35s|________|","");}
```
Required includes:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
```
[Answer]
# Haskell, ~~153~~ 148
Straight-forward, no tricks, just plain golfing:
```
(a:b:c)%n=(39-n)&' '++a:(2*n)&b++c
n#m=[n..m]++(n+3)#(m+4)
(&)=replicate
main=putStr$unlines$map("/*\\"%)(take 85$0#3)++map("|-|"%)(11&4)++["|_|"%4]
```
The `%` operator draws a single line, its first argument being a `String` of length 3 containing the borders and the fill characters in that line (now assuming exactly 3 `Char`s, saving 5 bytes), the second, an `Int`, specifies half the number of fill characters. Pattern matching, cons-ing and appending is used in combination in order to save bytes by taking care of the "glue" between `Char` and `String`. In this second version, I also made `#` infinite and introduced a `take 85` to make it finite again (no bytes saved, unfortunately).
The `#` operator creates the sequence for the `n` argument to `%` required for the tree: `[0..3], [3..7], ...` concatenated.
`&` is just an infix shorthand for `replicate`, which occurs three times.
The tree is put together in the last line, the newlines are added by `unlines`.
[Answer]
## Lua - [164](http://repl.it/XHD)
```
a=' 'for i=0,9 do for j=i*3,3+i*4 do print(a:rep(39-j)..'/'..(('*'):rep(j*2))..'\\')end end for i=0,11 do print(a:rep(35)..'|'..((i>10 and'_'or'-'):rep(8))..'|')end
```
[Answer]
**Mathematica ~~191~~ 178**
For sure not the best solution:
```
n=Nest;
t=Table;
""<>
    t[
        {n[#<>" "&,"",39-i],"/",n[#<>"*"&,"",2i],"\\\n"}
    ,
        {i,Flatten@t[Range[j+4]-1+3j,{j,0,9}]}
    ]
<>
    t[
        n[#<>" "&,"",35]<>If[i==12,"|________|\n","|--------|\n"]
    ,
        {i,12}
    ]
```
Not counting newlines.
Mathematica skews the output, as it doesn't take the same width for a whitespace as for "\*" and "/". But the result is correct.
[Answer]
# Java - 286
My first golf.
Golfed:
```
class M{public static void main(String[]args){int i=0,a,f=0;String s="";for(;i++<11;){for(a=i*3-4;++a<i*4;){if(i>10){a=4;if(++f>12)break;}s+=s.format("%"+(40-a)+"s"+(a>0?"%0"+a+"d":"")+"%3$s",f>0?"|":"/",0,f>0?"|":"\\").replace("0",f<1?"**":f>11?"__":"--")+"\n";}}System.out.println(s);}}
```
Ungolfed:
```
class M {
    public static void main(String[] args) {
        int i=0,a,f=0;
        String s = "";
        for(;i++<11;){
            for(a=i*3-4;++a<i*4;a++){
                if(i>10){
                    a=4;
                    if(++f>12)break;
                }
                s+=s.format("%"+(40-a)+"s"+(a>0?"%0"+a+"d":"")+"%3$s",f>0?"|":"/", 0,f>0?"|":"\\").replace("0", f<1?"**":f>11?"__":"--")+"\n";
            }
        }
        System.out.println(s);
    }
}
```
[Test here](http://ideone.com/zbCHMW)
[Answer]
# Python 2, 117
```
j=0
while j<40:j-=j/4;exec(j/3+4)*r"print' '*(39-j)+'/'+'**'*j+'\\';j+=1;"
for c in'-'*11+'_':print' '*35+'|'+c*8+'|'
```
---
Other versions I tried include:
```
# 118
for i in range(10):j=i*3;exec(i+4)*r"print' '*(39-j)+'/'+'**'*j+'\\';j+=1;"
for c in'-'*11+'_':print' '*35+'|'+c*8+'|'
# 118
i=j=4
while j:j=52-3*i;exec"j-=1;print' '*j+'/'+'**'*(39-j)+'\\\\';"*i;i+=1
for c in'-'*11+'_':print' '*35+'|'+c*8+'|'
# 118
j=0
for b in'\\'*10:j-=j/4;exec(j/3+4)*"print' '*(39-j)+'/'+'**'*j+b;j+=1;"
for c in'-'*11+'_':print' '*35+'|'+c*8+'|'
# 119
s=40
while s:s+=10-s/4;exec(52-s)/3*r"s-=1;print' '*s+'/'+'**'*(39-s)+'\\';"
for c in'-'*11+'_':print' '*35+'|'+c*8+'|'
```
[Answer]
# Powershell, 88 bytes
```
0..9|%{(3*$_)..(3+$_*4)|%{' '*(39-$_)+"/$('**'*$_)\"}}
,'-'*10+'_'|%{' '*35+"|$($_*8)|"}
```
[Answer]
# [Pyth](https://github.com/isaacg1/pyth), ~~101~~ ~~100~~ ~~99~~ ~~90~~ ~~81~~ 66 bytes
```
jbm+*;-39d++\/*\**2d\\s.e+L*3kb+L4TV11+J*35ds_B"|----";+Js_B"|____
```
[Try it online!](https://tio.run/##K6gsyfj/PyspV1vLWtfYMkVbO0ZfK0ZLyyglJqZYL1XbR8s4O0nbxyQkzNBQ20vL2DSlON5JqUYXCJSstb3AnHgg@P8fAA)
---
Python 3.8 translation:
```
from functools import reduce
from operator import add
B = lambda G, H: (H, G(H))
r = lambda s: s[::-1]
print("\n".join(map(lambda d: " "*(39-d)+"/"+"*"*(2*d)+"\\", reduce(add, 
map(lambda e: list(map(lambda d: 3*e[0]+d, range(e[1]))), enumerate(map(lambda d: 4+d, range(10))))))))
for N in range(11):
    print((J:=" "*35)+reduce(add, B(r, "|----")))
print(J+reduce(add, B(r, "|____")))
```
[Answer]
## Groovy 118
```
10.times{(it*3).upto 3+it*4,{println' '*(39-it)+'/'+'*'*it*2+'\\'}};12.times{println' '*35+'|'+(it>10?'_':'-')*8+'|'}
```
[Answer]
# C,194
This code is a hot mess and can definitely be golfed more. Still, it was an opportunity to try out a couple of things I've never done before: using a literal for a string of asterisks, and using the width specifier `*` with a string in `printf`.
```
i,j=5,k=5,n;
main(){
  char d[]={[0 ...77]=42,0};
  for(;i<85;i++)k--,j+=!k,k+=(j-1)*!k,n=39-i+(j-5)*(j-4)/2,printf("%*s/%s\\\n",n,"",d+n*2);
  for(;i<97;i++)printf("%*s|\n",44,i-96?"|--------":"|________");
}
```
[Answer]
## Racket 223 220 211 204 198
Golfed:
```
(for-each display(flatten(let([m make-list])`(,(for*/list([i 10][j(range(* i 3)(* 4(+ 1 i)))])`(,(m(- 39 j)" ")"/",(m j"**")"\\\n")),(for/list([c`(,@(m 11"-")"_")])`(,(m 35" ")"|",(m 8 c)"|\n"))))))
```
Ungolfed:
```
(for-each display
     (flatten
      (let([m make-list])
        `(,(for*/list([i 10][j(range(* i 3)(* 4(+ 1 i)))])
             `(,(m(- 39 j)" ")"/",(m j"**")"\\\n"))
          ,(for/list([c`(,@(m 11"-")"_")])
             `(,(m 35" ")"|",(m 8 c)"|\n"))))))
```
[Answer]
# [Assembly (MIPS, SPIM)](https://github.com/TryItOnline/spim), ~~768~~ ~~671~~ ~~659~~ ~~655~~ 654 bytes
```
.text
.globl main
main:
li $8 32
li $9 47
li $t2 42
li $t3 92
li $t4 10
li $t5 42
addi $sp -4
move $4 $sp
la $s6 q
la $s5 w
li $t8 0
li $s0 10
li $t9 0
li $s3 40
li $s2 39
q:
sub $s3 $s3 $t8
add $s2 $s2 $t8
addi $t7 $t8 3
addi $t8 1
blt $s0 $t8 e
r:
sw $0 ($4)
blt $t9 $s2 t
beq $t9 $s2 y
beq $t9 $s3 u
beqz $t7 i
sb $t2 ($4)
p:
li $2 4
syscall
addi $t9 1
ble $t9 $s3 r
move $t9 $0
j $s5
o:
addi $t7 -1
bgez $t7 r
jr $s6
w:
addi $s2 -1
addi $s3 1
j o
t:
sb $8 ($4)
j p
y:
sb $9 ($4)
j p
u:
sb $t4 1($4)
sb $t3 ($4)
j p
i:
sb $t5 ($4)
j p
e:
li $t1 124
li $t3 124
li $t2 45
li $t5 95
li $t7 11
la $s6 a
la $s5 o
li $s2 35
li $s3 44
j r
a:
li $2 10
syscall
```
[Try it online!](https://tio.run/##TVHLcoQgELzPV8zBQ3LYLRXMin@jWWpLC@MDNhvz8wZmQHNAu3ugB6bt3I/7fnX6x8H1YabO4Nj2XxA@DZgesxpFSUChvBFwJUqWnEAVkcQiZ1SFanu/e2xnvEgYp2@NmQwUTOt/H7gwqPDFZ2rkwzY/bFSSBMqIShQKlgbssyOdlqtDM6rSYh4cbmQsEq2xgM44ahKYhtVbvTDL8S2T71zzbYOLg04vB9v@MYHPwH7Jvwfb0TzIYOaB@emA3exna0xqrai1PizWOJNAcxjCJGBqzntf/PaH5h4rDGuYGbzSBn8jvyFi4a0HnMA1dJearzLgDBsr6lSerISsSCMiznof69UpaX6TK7AoZcr8gP6pVQpdRXTDokgxtynm6QiwOkKVvsEKbRqazz1Obd//AA "Assembly (MIPS, SPIM) – Try It Online")
**Edit:** Saved ~100 bytes by hard coding each character in a register and simply writing to the stack, then abusing the fact that MIPS doesn't have types so implicit word to ascii string is allowed.  
**Edit 2:** removed duplicate stack alloc. (`addi $sp -4`) Oops!  
**Edit 3:** in rewrite, accidently made the tree stump 1 character too short. (36 in stead of 35). Fixed.  
**Edit 4:** -4 bytes by using $8 and $9 instead of $t0 and $t1. they mean the same thing, but $t0 is easier to read. unfortunately, all other t registers are the same length when written nicely ($t2 == $10, but both are 3 characters), so the rest are a wash. I could (in theory) use the remaining 'a' registers (5-7. print syscall uses 4), but afaik the behavior isn't defined when using syscall.  
-1 Byte by setting t8 to 0 and branching on less than instead of on equal. also required me to reorder the add ops, which unfortunately made the execution time take a whopping 3 opcodes longer.
Not the best at MIPS, but after clearing my conscience of this in meta discussion, i'm submitting them. MIPS is not designed for this (no output, no for loops) but it's pretty fun to do this perhaps in spite of that. 
Unfortunately, I haven't created a commented version for this new solution, but you can view the old version, with full documentation [here](https://tio.run/##dVffb@M2En7XXzGwCnS3SZR4k93D@W6fevfQoi2KboDeQ4EDLdEWN7KoJanY3vb@9r1vhqQsu@lDYpsazs9vvhn5wey@fKkaFRQVvlO@XVGlfG3MZ1rcLope7zvT69nhb7/1i0L5oJ3xT7PzbxaFH1Q9F6VFMfaNdhca/rso1srNDv6Qg5/0/odzwT/YVHPu082iqII@hKKotp1dd7RTpk9H/HVVlBvrXpk@0IHe090/8PFPWvLn1dVrMp6cHbdtd6S9MyHonpRfFZ2hr/wdxKjcqQN11g5U2xFKoIxCqykeViIZ7uhmSWU9OpfOySDOQ1Tzhu7/TqUPjnxQLsTDe3q4i4e6b6KSJd1FHRpmvm2VK4oD61pRUZS4AFfZMGoSqMZjVSPn0RD@yzNn95VYTLIb4yBse41fKvBpbwMpksJU0KuaJvoP9yWqq6spQv6MMfpxLS7LH4RFNDitae1UX7faU2Ohdq@Na8huNl4HWh9FSw7IwFkVjO3xnA4VnsGbVvVNp714V7Ez4rz8sRkPC2ptn3VVrPUnOeOqNPbRjf1Tct4v5cF9UXQKv/5Gn0btjt9OCSoHi@LjS7CXjxabsa/Zp0W8@44k4WdXUp0pSrwlNMAjIv/F7s/EcEx8HkuAgg2OIaf4N0c8FcxX9DhLy6yQnuw6ALG6oWejJHknB7nCCK4i1R9RPl0b1XEO@61n85z@IFcAJ7aX0EDK6ZTlhiuS9UV1byv6tQXiGyDkmmrVdfTVu@KYQPdRdU4SWsoTgUS@7oN10BidIqe3hgmgog98jmQcAnGTs8Dg7NapXVSfJa/JW0AChz3Owuh6jkIwMdnYZ9cqdoViQkuvdgCFj7i4pvUYaG9CK@5FkaygyuheMrpNXzu945SHl9JfrDstoozxY0SB2bwsy6UCagW2/Qs9iVTaPph@1PLwmLpoB4ejCUDb4onbG48QnOZ2@QtL3N1VLsXbl0qx17ka3LCStNRbw6B7X53ahDmq0fM0HGfMhvIV663@LKKnDIh6A6Otgvs7Li9wJaDbmN74VgJgYjsL9qOTfip1xyHu9de4N4PZZQQTBqqiOHXYisqIXZoIZ6sDMrulN5RHjkf9MVNIq7oVyDd2P9UeTHKzzN/vaVl8TKYe7Q@2pjISZDDAFAeq9fxxBYR@DaTVYYTPxxi83mxMbTiBmCloqaD9a04G0qoCkHkKSyjXm92Aq40Fy3FOnKJXoicLdLjlXkcoSWrQFRIKO4VsCKbjQHpDD1Q@ZG7PJOCPXu71427NXMRKd1r1njIFYcogZaDxJFnaMQyjjIMZNYjOI5K6uyaAqNZZc3WRNJCbHV2aLajHDK6o/dM4XE8jBO0@dspJ6SpiDofNtfKmloQCXorev6d1VZwz8yrx/VIqKOjiZwmQjCXxVlAXByBb7G1/I5MNHDuh7HbmHvoswnxSfs98GVW/QCyXbS1Eg30HZBFO3rHFv1QhV9iX0wBAHjY2hXALpa1BtZmnk@8yaR4mfDNIe04X0oqPtaqfGG/5MShcnyAa1BN@Nc@qD2qreRDwnZvQypKDusIMSk5by6hQZtuGSLxTC6JXHHPbiUWxfCSotbobkMbp0amU16zCaXRL2FsECLIwFqH6cRisC7pZweSjvRbj0VJK5/dy9L3qhEdgKJhn3R2ryGRoyr3qxUep6Ky9@JpwEhom@a4Puh75YVHiwp49utHP8BhqOr0JvJrkVSlzbdbHJEWj1@xKFUvHgwy9wfnRCU3Ke73DqHAzSqtSCQHtPTcf2pzbndmDvDqi78fdICWjZ9WNejY81Wl0FuUvKrd2a5oGwf/43c8fJoFEJ3zVnwVwXreKfrIhrXs9eFnndHtpVaGe2oKTUDc8jCDlpRA8hUJxrjltVTHr@FURmasoignsoOZtmlpyNusyTrZVDYcP/ongekClT7P/PF@ZlkCgjU8DzB2Z5HFZOCy3hFg6ZyO4lNlhxfs0M8LkynSP32Mu76XGxy1emf50J73oXN5Kuyfbau3YcXZ77vrADYU6V5HqIz1x3Qd4VE0vAu@yj2lt9zi6HDP3b2MSDG913kK5HTAMzGdZnz3951/TK8RD5JwZ1XAsaWno4tRfYuov38jQrrg2@mBi3WTEI/9YC0yPwihZHO9kNYMcr2bcD@C6zwR2ld2Am47RIo2huOPAIohUY@SXvMaMw/lsTytyYjXsikCNZDAyZsZQbQHmOpauyss4xyLFibudrJF5DT@b4mnIXrJAZjZGFy@nmZ6frWlevabf/8ctWJe39W19dXX7UT0rVDttPhzoaauJO01RYtHAYlfz6m3TAPzz8IsdtY/1WNsQ7G7O/jdgTfQAv8Ze0/Q6XBXzxJzPP8jL6@B8bOHs3xHALw8jFo6rnJjgF2k5juBuXuiHZGWVRPDzBYlkcyaU3tIvZc@sZvEp2kvp8sPP3/2Io0@jYXobZb3MvLBgxC74hL9U8RUW53qH3SLwlGksitvxMOOlwj1J06DQADpo0UfWk1Wt4rbP29TyLq9ExZcv/wc) 
Feel free to take the credit and improve upon this answer if you can beat it - I'm probably missing a few optimizations here and there.
[Answer]
# [Canvas](https://github.com/dzaima/Canvas), 40 [bytes](https://github.com/dzaima/Canvas/blob/master/files/chartable.md)
```
Ａ｛３＋｛╷¹╷３×＋*×/×｝］⁵-＊_∔｛４×|×］∔｛║Ｌ»‾◂∔ ××］
```
[Try it here!](https://dzaima.github.io/Canvas/?u=JXVGRjIxJXVGRjVCJXVGRjEzJXVGRjBCJXVGRjVCJXUyNTc3JUI5JXUyNTc3JXVGRjEzJUQ3JXVGRjBCKiVENy8lRDcldUZGNUQldUZGM0QldTIwNzUtJXVGRjBBXyV1MjIxNCV1RkY1QiV1RkYxNCVENyU3QyVENyV1RkYzRCV1MjIxNCV1RkY1QiV1MjU1MSV1RkYyQyVCQiV1MjAzRSV1MjVDMiV1MjIxNCUyMCVENyVENyV1RkYzRA__,v=8)
]