// This file is auto-generated. Changes to this file will be lost!

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 0);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 12);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 3, 4);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(12)->CastIA(), 4, 3);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA());
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(0->CastIA(), 3);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA());
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 0);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(3->CastIA(), 4, 2, 3);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.From(Range(12)->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.From(Range(12)->CastIA(), 12);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.From(Range(12)->CastIA(), 3, 4);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.From(Range(12)->CastIA(), 4, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.From(Range(4)->CastIA(), 1, 0, 1);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.From(Range(4)->CastIA(), 3, 1, 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.Fill(0->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.Fill(0->CastIA(), 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.Fill(3->CastIA());
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.Fill(3->CastIA(), 0);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.Fill(3->CastIA(), 4, 2, 3);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

`` T := Tensor.Fill(4->CastIA(), 5, 3, 6);
`` U := Tensor.Fill(4->CastIA(), 5, 3, 6);
({'  T': T}, {'  U': U }, {Dot: T->Dot(U)})

