Back to PBT run

input.mlir

llvm.func @f0(%arg0: f32, %arg1: f32, %arg2: f32) -> f32 {
  %v0 = llvm.intr.fmuladd(%arg0, %arg1, %arg2) {fastmathFlags = #llvm.fastmath<contract>} : (f32, f32, f32) -> f32
  %v1 = llvm.intr.fmuladd(%arg0, %arg1, %v0) {fastmathFlags = #llvm.fastmath<nnan, contract>} : (f32, f32, f32) -> f32
  llvm.return %v1 : f32
}
llvm.func @f1(%arg0: vector<4xf32>, %arg1: vector<4xf32>, %arg2: vector<4xf32>) -> vector<4xf32> {
  %residual = llvm.fmul %arg0, %arg1 : vector<4xf32>
  llvm.return %arg2 : vector<4xf32>
}
llvm.func @f2(%arg0: f32, %arg1: f32, %arg2: f32) -> f32 {
  %residual = llvm.fmul %arg0, %arg1 : f32
  %v0 = llvm.intr.fmuladd(%arg0, %arg1, %arg2) : (f32, f32, f32) -> f32
  llvm.return %v0 : f32
}