diff --git a/algorithms/algebraic/discrete_log/discrete_log.qmod b/algorithms/algebraic/discrete_log/discrete_log.qmod
index 18da9d2b..92952468 100644
--- a/algorithms/algebraic/discrete_log/discrete_log.qmod
+++ b/algorithms/algebraic/discrete_log/discrete_log.qmod
@@ -1,6 +1,6 @@
 qfunc discrete_log_oracle(g_generator: int, x_element: int, N_modulus: int, x1: qbit[], x2: qbit[], output func_res: qbit[]) {
   allocate(ceiling(log(N_modulus, 2)), func_res);
-  inplace_prepare_int(1, func_res);
+  func_res ^= 1;
   modular_exp(N_modulus, x_element, func_res, x1);
   modular_exp(N_modulus, g_generator, func_res, x2);
 }
diff --git a/algorithms/algebraic/discrete_log/discrete_log_large.qmod b/algorithms/algebraic/discrete_log/discrete_log_large.qmod
index 00149cc4..9bf968f3 100644
--- a/algorithms/algebraic/discrete_log/discrete_log_large.qmod
+++ b/algorithms/algebraic/discrete_log/discrete_log_large.qmod
@@ -1,6 +1,6 @@
 qfunc discrete_log_oracle(g_generator: int, x_element: int, N_modulus: int, x1: qbit[], x2: qbit[], output func_res: qbit[]) {
   allocate(ceiling(log(N_modulus, 2)), func_res);
-  inplace_prepare_int(1, func_res);
+  func_res ^= 1;
   modular_exp(N_modulus, x_element, func_res, x1);
   modular_exp(N_modulus, g_generator, func_res, x2);
 }
diff --git a/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod b/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod
index 56d957a9..2b7f9ccf 100644
--- a/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod
+++ b/algorithms/algebraic/shor/doubly_controlled_modular_adder.qmod
@@ -62,7 +62,7 @@ qfunc main(output b: qnum, output ctrl: qbit[2], output aux: qbit) {
   allocate(5, b);
   allocate(2, ctrl);
   allocate(1, aux);
-  inplace_prepare_int(8, b);
+  b ^= 8;
   X(ctrl[0]);
   X(ctrl[1]);
   within {
diff --git a/algorithms/algebraic/shor/shor_modular_exponentiation.qmod b/algorithms/algebraic/shor/shor_modular_exponentiation.qmod
index 842fc32a..e0bc1610 100644
--- a/algorithms/algebraic/shor/shor_modular_exponentiation.qmod
+++ b/algorithms/algebraic/shor/shor_modular_exponentiation.qmod
@@ -98,7 +98,7 @@ qfunc main(output x: qbit[], output power: qbit[6], output aux: qbit) {
   allocate(6, power);
   allocate(1, aux);
   hadamard_transform(power);
-  inplace_prepare_int(1, x);
+  x ^= 1;
   mod_exp_func(6, 5, x, power, aux);
   invert {
     qft(power);
diff --git a/algorithms/differential_equations/time_marching/time_marching.qmod b/algorithms/differential_equations/time_marching/time_marching.qmod
index a8ccaf87..9e04d1ab 100644
--- a/algorithms/differential_equations/time_marching/time_marching.qmod
+++ b/algorithms/differential_equations/time_marching/time_marching.qmod
@@ -93,7 +93,7 @@ qfunc long_time_integrator_step(a: real, b: real, qbe_full: FullBE) {
 }
 
 qfunc long_time_integrator(T: real, num_slices: int, qbe_full: FullBE) {
-  inplace_prepare_int(num_slices, qbe_full.counter);
+  qbe_full.counter ^= num_slices;
   repeat (i: num_slices) {
     long_time_integrator_step((i * T) / num_slices, ((i + 1) * T) / num_slices, qbe_full);
   }
diff --git a/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod b/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod
index 40bf7595..18fe46e9 100644
--- a/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod
+++ b/functions/function_usage_examples/arithmetic/arithmetic_expression/arithmetic_expression_example.qmod
@@ -1,6 +1,6 @@
 qfunc main(output a: qnum, output b: qnum, output c: qnum, output res: qnum) {
-  prepare_int(2, a);
-  prepare_int(1, b);
-  prepare_int(5, c);
+  a = 2;
+  b = 1;
+  c = 5;
   res = ((((((a + b) + c) & 15) % 8) ^ (3 & a)) ^ 10) == 4;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod
index d0ac8eaa..c76a6ecb 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_2vars_example.qmod
@@ -1,5 +1,5 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
-  prepare_int(4, a);
-  prepare_int(5, b);
+  a = 4;
+  b = 5;
   res = a & b;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod
index 602414a2..3211930e 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_and/bitwise_and_integer_example.qmod
@@ -1,4 +1,4 @@
 qfunc main(output a: qnum, output res: qnum) {
-  prepare_int(5, a);
+  a = 5;
   res = 3 & a;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod
index 0f23f07f..f3b4dbdc 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_invert/bitwise_invert_example.qmod
@@ -1,4 +1,4 @@
 qfunc main(output x: qnum, output y: qnum) {
-  prepare_int(6, x);
+  x = 6;
   y = ~x;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod
index 5615c17e..9faacdc8 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_2vars_example.qmod
@@ -1,7 +1,7 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
   allocate_num(5, True, 0, a);
   allocate_num(3, False, 0, b);
-  inplace_prepare_int(4, a);
-  inplace_prepare_int(5, b);
+  a ^= 4;
+  b ^= 5;
   res = a | b;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod
index 75758c2d..4f8cd814 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_or/bitwise_or_integer_example.qmod
@@ -1,4 +1,4 @@
 qfunc main(output a: qnum, output res: qnum) {
-  prepare_int(4, a);
+  a = 4;
   res = 3 | a;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod
index dad4a89e..f2c7bc04 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_2vars_example.qmod
@@ -1,7 +1,7 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
   allocate_num(5, True, 0, a);
   allocate_num(3, False, 0, b);
-  inplace_prepare_int(4, a);
-  inplace_prepare_int(5, b);
+  a ^= 4;
+  b ^= 5;
   res = a ^ b;
 }
diff --git a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod
index bd1f9da5..6893bb96 100644
--- a/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod
+++ b/functions/function_usage_examples/arithmetic/bitwise_xor/bitwise_xor_integer_example.qmod
@@ -1,4 +1,4 @@
 qfunc main(output a: qnum, output res: qnum) {
-  prepare_int(4, a);
+  a = 4;
   res = 3 ^ a;
 }
diff --git a/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod b/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod
index 100b8bf7..d75c7c81 100644
--- a/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod
+++ b/functions/function_usage_examples/arithmetic/extremum/minimum_2vars_example.qmod
@@ -1,5 +1,5 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
-  prepare_int(4, a);
+  a = 4;
   allocate(3, b);
   hadamard_transform(b);
   res = min(a, b);
diff --git a/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod b/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod
index 9721197a..878bfca9 100644
--- a/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod
+++ b/functions/function_usage_examples/arithmetic/modular_exp/modular_exp_example.qmod
@@ -1,6 +1,6 @@
 qfunc main(output power: qnum, output x: qnum) {
   allocate(ceiling(log(5, 2)), x);
-  inplace_prepare_int(1, x);
+  x ^= 1;
   allocate(3, power);
   hadamard_transform(power);
   modular_exp(5, 4, x, power);
diff --git a/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod b/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod
index 711783d3..5b805a72 100644
--- a/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod
+++ b/functions/function_usage_examples/arithmetic/modulo/modulo_example.qmod
@@ -1,7 +1,7 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
   allocate(5, a);
   allocate(5, b);
-  inplace_prepare_int(4, a);
-  inplace_prepare_int(7, b);
+  a ^= 4;
+  b ^= 7;
   res = (a + b) % 4;
 }
diff --git a/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod b/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod
index 4eaef385..2282dd8e 100644
--- a/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod
+++ b/functions/function_usage_examples/arithmetic/multiplication/multiplication_2vars_example.qmod
@@ -1,5 +1,5 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
-  prepare_int(4, a);
-  prepare_int(5, b);
+  a = 4;
+  b = 5;
   res = a * b;
 }
diff --git a/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod b/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod
index c8a4eb27..5ba63d99 100644
--- a/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod
+++ b/functions/function_usage_examples/arithmetic/subtraction/subtraction_2vars_example.qmod
@@ -1,5 +1,5 @@
 qfunc main(output a: qnum, output b: qnum, output res: qnum) {
-  prepare_int(4, a);
-  prepare_int(5, b);
+  a = 4;
+  b = 5;
   res = a - b;
 }
diff --git a/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod b/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod
index 9f086bfe..ba263fb4 100644
--- a/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod
+++ b/functions/function_usage_examples/arithmetic/subtraction/subtraction_float_example.qmod
@@ -1,4 +1,4 @@
 qfunc main(output a: qnum, output res: qnum) {
-  prepare_int(4, a);
+  a = 4;
   res = a - 3.5;
 }
diff --git a/functions/open_library_definitions/prepare_bell_state.qmod b/functions/open_library_definitions/prepare_bell_state.qmod
index db01774a..8bec641a 100644
--- a/functions/open_library_definitions/prepare_bell_state.qmod
+++ b/functions/open_library_definitions/prepare_bell_state.qmod
@@ -1,6 +1,6 @@
 qfunc prepare_bell_state(state_num: int, output q: qbit[2]) {
   allocate(2, q);
-  inplace_prepare_int(state_num, q);
+  q ^= state_num;
   H(q[0]);
   CX(q[0], q[1]);
 }
diff --git a/functions/open_library_definitions/prepare_int.qmod b/functions/open_library_definitions/prepare_int.qmod
index d17fd2b1..821bc06e 100644
--- a/functions/open_library_definitions/prepare_int.qmod
+++ b/functions/open_library_definitions/prepare_int.qmod
@@ -1,4 +1,4 @@
 qfunc prepare_int(value: int, output out: qnum<floor(log(value, 2)) + 1>) {
   allocate(floor(log(value, 2)) + 1, out);
-  inplace_prepare_int(value, out);
+  out ^= value;
 }
diff --git a/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod b/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod
index e9726107..ef43de82 100644
--- a/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod
+++ b/functions/qmod_library_reference/classiq_open_library/qpe/qpe.qmod
@@ -1,7 +1,7 @@
 qfunc main(output state: qbit[], output phase: qnum) {
   allocate(2, state);
   allocate_num(2, False, 2, phase);
-  inplace_prepare_int(3, state);
+  state ^= 3;
   qpe(lambda() {
     CRZ(pi, state[0], state[1]);
   }, phase);
diff --git a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod
index 3629e765..d2173896 100644
--- a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod
+++ b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_12_qubits.qmod
@@ -1,7 +1,7 @@
 qfunc main(output z: qnum) {
   x: qnum;
   y: qnum;
-  prepare_int(2, x);
-  prepare_int(1, y);
+  x = 2;
+  y = 1;
   z = (((2 * x) + y) + max(3 * y, 2)) > 4;
 }
diff --git a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod
index 3629e765..d2173896 100644
--- a/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod
+++ b/tutorials/technology_demonstrations/arithmetic_expressions/arithmetic_demo_9_qubits.qmod
@@ -1,7 +1,7 @@
 qfunc main(output z: qnum) {
   x: qnum;
   y: qnum;
-  prepare_int(2, x);
-  prepare_int(1, y);
+  x = 2;
+  y = 1;
   z = (((2 * x) + y) + max(3 * y, 2)) > 4;
 }