use spenso::structure::representation::PhysReps;
#[cfg(feature = "shadowing")]
use spenso::symbolic::SymbolicTensor;
#[cfg(feature = "shadowing")]
use symbolica::atom::Atom;
fn main() {
#[cfg(feature = "shadowing")]
let expr = concat!("256/81*(MT*id(aind(bis(4,186),bis(4,227)))+Q(7,aind(loru(4,237)))",
"*γ(aind(lord(4,237),bis(4,186),bis(4,227))))*(MT*id(aind(bis(4,218),bis(4,185)))+Q(4,aind(loru(4,234)))",
"*γ(aind(lord(4,234),bis(4,218),bis(4,185))))*(MT*id(aind(bis(4,223),bis(4,217)))+Q(5,aind(loru(4,235)))",
"*γ(aind(lord(4,235),bis(4,223),bis(4,217))))*(MT*id(aind(bis(4,228),bis(4,222)))+Q(6,aind(loru(4,236)))",
"*γ(aind(lord(4,236),bis(4,228),bis(4,222))))*sqrt(pi)^4*sqrt(aEW)^4",
"*γ(aind(lord(4,187),bis(4,186),bis(4,185)))",
"*γ(aind(lord(4,219),bis(4,218),bis(4,217)))",
"*γ(aind(lord(4,224),bis(4,223),bis(4,222)))",
"*γ(aind(lord(4,229),bis(4,228),bis(4,227)))",
"*ϵ(0,aind(loru(4,187)))*ϵbar(1,aind(loru(4,219)))*ϵbar(2,aind(loru(4,224)))*ϵbar(3,aind(loru(4,229)))",
);
#[cfg(feature = "shadowing")]
let atom = Atom::parse(expr).unwrap();
#[cfg(feature = "shadowing")]
let sym_tensor: SymbolicTensor = atom.try_into().unwrap();
#[cfg(feature = "shadowing")]
let network = sym_tensor.to_network::<PhysReps>().unwrap();
#[cfg(feature = "shadowing")]
for (_, t) in &network.graph.nodes {
println!("{}", t)
}
#[cfg(feature = "shadowing")]
println!("Network dot: {}", network.dot());
}