func BenchmarkBuilder(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { b := NewBuilder() lit := make([]*Robdd, 10) for j := range lit { lit[j] = b.NewLiteral(boolean.Var(j)) } d1 := b.Apply(OpXor, lit[0], lit[1]) d2 := b.Apply(OpOr, lit[2], lit[3]) d3 := b.Apply(OpAnd, lit[4], lit[5]) d4 := b.Apply(OpIff, lit[6], lit[7]) d5 := b.Apply(OpImplies, lit[8], lit[9]) d1 = b.Apply(OpXor, d1, d3) d2 = b.Apply(OpAnd, d2, d5) d3 = b.Apply(OpOr, d1, d4) d4 = b.Apply(OpImplies, d2, d3) d5 = b.Apply(OpIff, b.NewLiteral(boolean.Var(10)), d4) } }