# Any packages/tools to automatically turn natural codes for matrix operations into pre-allocated forms?

**URL:** <https://discourse.julialang.org/t/any-packages-tools-to-automatically-turn-natural-codes-for-matrix-operations-into-pre-allocated-forms/92657>\
**Category:** Performance\
**Tags:** matrix\
**Created:** [January 8, 2023, 6:00am UTC](https://discourse.julialang.org/t/any-packages-tools-to-automatically-turn-natural-codes-for-matrix-operations-into-pre-allocated-forms/92657 "2023-01-08T06:00:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![photor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/photor/32/14343_2.png) [@photor](https://discourse.julialang.org/u/photor)\
**Post date:** [January 8, 2023, 6:00am UTC](https://discourse.julialang.org/t/any-packages-tools-to-automatically-turn-natural-codes-for-matrix-operations-into-pre-allocated-forms/92657/1 "2023-01-08T06:00:15Z")

</div>

For example, turn

```julia
F=D*(A+B*C)+E

```

into

```julia
G=copy(A)
mul!(G, B, C, true, true)
F=copy(E)
mul!(F, D, G, true, true)

```

Thanks.
