Details

Time bar (total: 16.8s)

analyze606.0ms (3.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
Compiler

Compiled 25 to 18 computations (28% saved)

sample2.5s (15%)

Results
1.8s8256×body256valid
738.0ms3852×body256invalid

preprocess144.0ms (0.9%)

Algorithm
egg-herbie
Rules
436×fma-neg_binary64
431×+-commutative_binary64
427×cancel-sign-sub_binary64
396×associate-+l+_binary64
365×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0127506
1355506
2947484
32470462
45306462
077
177
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
3
4
5
6
Outputs
0
1
0
2
3
2
4
5
4
6
Call 2
Inputs
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 y x) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 z y) (/.f64 (*.f64 x t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 t y) (/.f64 (*.f64 z x) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 a y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 x b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 b y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a x) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 c y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) x)
(+.f64 (-.f64 (+.f64 (*.f64 x z) (/.f64 (*.f64 y t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x t) (/.f64 (*.f64 z y) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x a) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 y b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x b) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a y) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x c) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) y)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 t z) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 a t) 16)) (/.f64 (*.f64 z b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 b t) 16)) (/.f64 (*.f64 a z) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 c t) 16)) (/.f64 (*.f64 a b) 4)) z)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z a) 16)) (/.f64 (*.f64 t b) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z b) 16)) (/.f64 (*.f64 a t) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z c) 16)) (/.f64 (*.f64 a b) 4)) t)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 b a) 4)) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 c b) 4)) a)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a c) 4)) b)
Outputs
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c)
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c)
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c)
(+.f64 (-.f64 (+.f64 (*.f64 y x) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c)
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c)
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c)
(+.f64 (-.f64 (+.f64 (*.f64 z y) (/.f64 (*.f64 x t) 16)) (/.f64 (*.f64 a b) 4)) c)
(-.f64 (fma.f64 z y (/.f64 x (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) c))
(+.f64 c (-.f64 (fma.f64 y z (*.f64 (/.f64 x 16) t)) (/.f64 a (/.f64 4 b))))
(fma.f64 y z (fma.f64 (/.f64 x 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 y z (fma.f64 t (/.f64 x 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(fma.f64 y z (+.f64 c (fma.f64 t (/.f64 x 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 t y) (/.f64 (*.f64 z x) 16)) (/.f64 (*.f64 a b) 4)) c)
(-.f64 (fma.f64 t y (/.f64 z (/.f64 16 x))) (-.f64 (/.f64 a (/.f64 4 b)) c))
(+.f64 c (-.f64 (fma.f64 y t (/.f64 z (/.f64 16 x))) (/.f64 a (/.f64 4 b))))
(fma.f64 y t (fma.f64 (/.f64 z 16) x (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 y t (fma.f64 x (/.f64 z 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 c (fma.f64 y t (fma.f64 x (/.f64 z 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 a y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 x b) 4)) c)
(-.f64 (fma.f64 a y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 x (/.f64 4 b)) c))
(+.f64 c (fma.f64 y a (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 x 4) b))))
(fma.f64 y a (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 (/.f64 b 4) x) c)))
(fma.f64 y a (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 x (/.f64 b 4)))))
(+.f64 (-.f64 (+.f64 (*.f64 b y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a x) 4)) c)
(-.f64 (fma.f64 b y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 (*.f64 x a) 4) c))
(+.f64 c (fma.f64 y b (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 a 4) x))))
(fma.f64 y b (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 x (/.f64 a 4)) c)))
(fma.f64 (/.f64 z 16) t (fma.f64 y b (-.f64 c (*.f64 x (/.f64 a 4)))))
(+.f64 c (fma.f64 z (/.f64 t 16) (fma.f64 y b (*.f64 x (*.f64 -1/4 a)))))
(+.f64 (-.f64 (+.f64 (*.f64 c y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) x)
(-.f64 (fma.f64 c y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) x))
(+.f64 x (-.f64 (fma.f64 y c (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))))
(fma.f64 y c (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) x)))
(fma.f64 y c (fma.f64 z (/.f64 t 16) (-.f64 x (*.f64 a (/.f64 b 4)))))
(+.f64 x (fma.f64 y c (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x z) (/.f64 (*.f64 y t) 16)) (/.f64 (*.f64 a b) 4)) c)
(-.f64 (fma.f64 x z (/.f64 y (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) c))
(+.f64 c (-.f64 (fma.f64 x z (/.f64 y (/.f64 16 t))) (/.f64 a (/.f64 4 b))))
(fma.f64 x z (fma.f64 (/.f64 y 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 x z (fma.f64 t (/.f64 y 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 c (fma.f64 x z (fma.f64 t (/.f64 y 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x t) (/.f64 (*.f64 z y) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 c (-.f64 (fma.f64 x t (/.f64 z (/.f64 16 y))) (/.f64 a (/.f64 4 b))))
(+.f64 c (-.f64 (fma.f64 x t (*.f64 (/.f64 z 16) y)) (/.f64 a (/.f64 4 b))))
(fma.f64 (/.f64 z 16) y (fma.f64 x t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 (/.f64 z 16) y (fma.f64 x t (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 c (fma.f64 x t (fma.f64 y (/.f64 z 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x a) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 y b) 4)) c)
(-.f64 (fma.f64 x a (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 y (/.f64 4 b)) c))
(+.f64 c (fma.f64 x a (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 y 4) b))))
(fma.f64 x a (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 b (/.f64 y 4)) c)))
(fma.f64 x a (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 y (/.f64 b 4)))))
(+.f64 c (fma.f64 x a (fma.f64 z (/.f64 t 16) (*.f64 -1/4 (*.f64 y b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x b) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a y) 4)) c)
(+.f64 c (-.f64 (fma.f64 x b (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 y))))
(+.f64 c (fma.f64 x b (-.f64 (*.f64 (/.f64 z 16) t) (*.f64 (/.f64 a 4) y))))
(fma.f64 x b (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 y (/.f64 a 4)) c)))
(fma.f64 x b (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 y (/.f64 a 4)))))
(fma.f64 x b (fma.f64 z (/.f64 t 16) (+.f64 c (*.f64 y (*.f64 -1/4 a)))))
(+.f64 (-.f64 (+.f64 (*.f64 x c) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) y)
(-.f64 (fma.f64 x c (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) y))
(+.f64 y (-.f64 (fma.f64 x c (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))))
(fma.f64 (/.f64 z 16) t (fma.f64 x c (fma.f64 -1 (*.f64 a (/.f64 b 4)) y)))
(fma.f64 x c (fma.f64 z (/.f64 t 16) (-.f64 y (*.f64 a (/.f64 b 4)))))
(+.f64 y (fma.f64 x c (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 t z) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c)
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c)
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 a t) 16)) (/.f64 (*.f64 z b) 4)) c)
(-.f64 (fma.f64 x y (/.f64 a (/.f64 16 t))) (-.f64 (/.f64 z (/.f64 4 b)) c))
(-.f64 (fma.f64 x y (*.f64 (/.f64 a 16) t)) (-.f64 (/.f64 z (/.f64 4 b)) c))
(fma.f64 x y (fma.f64 (/.f64 a 16) t (fma.f64 -1 (*.f64 b (/.f64 z 4)) c)))
(fma.f64 x y (fma.f64 t (/.f64 a 16) (-.f64 c (*.f64 b (/.f64 z 4)))))
(+.f64 c (fma.f64 t (/.f64 a 16) (fma.f64 x y (*.f64 z (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 b t) 16)) (/.f64 (*.f64 a z) 4)) c)
(-.f64 (fma.f64 x y (/.f64 b (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 z)) c))
(-.f64 (fma.f64 x y (*.f64 (/.f64 b 16) t)) (-.f64 (*.f64 (/.f64 a 4) z) c))
(fma.f64 x y (fma.f64 (/.f64 b 16) t (fma.f64 -1 (*.f64 z (/.f64 a 4)) c)))
(fma.f64 x y (fma.f64 t (/.f64 b 16) (-.f64 c (*.f64 z (/.f64 a 4)))))
(+.f64 c (fma.f64 x y (fma.f64 t (/.f64 b 16) (*.f64 z (*.f64 -1/4 a)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 c t) 16)) (/.f64 (*.f64 a b) 4)) z)
(-.f64 (fma.f64 x y (/.f64 c (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) z))
(+.f64 z (-.f64 (fma.f64 x y (*.f64 (/.f64 c 16) t)) (/.f64 a (/.f64 4 b))))
(fma.f64 x y (fma.f64 (/.f64 c 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) z)))
(fma.f64 x y (fma.f64 t (/.f64 c 16) (-.f64 z (*.f64 a (/.f64 b 4)))))
(+.f64 z (fma.f64 x y (fma.f64 t (/.f64 c 16) (*.f64 a (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z a) 16)) (/.f64 (*.f64 t b) 4)) c)
(-.f64 (fma.f64 x y (/.f64 (*.f64 z a) 16)) (-.f64 (/.f64 t (/.f64 4 b)) c))
(-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) a)) (-.f64 (*.f64 (/.f64 t 4) b) c))
(fma.f64 x y (fma.f64 (/.f64 z 16) a (fma.f64 -1 (*.f64 (/.f64 b 4) t) c)))
(fma.f64 x y (fma.f64 a (/.f64 z 16) (-.f64 c (*.f64 t (/.f64 b 4)))))
(+.f64 c (fma.f64 x y (fma.f64 a (/.f64 z 16) (*.f64 t (*.f64 -1/4 b)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z b) 16)) (/.f64 (*.f64 a t) 4)) c)
(+.f64 c (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 b))) (/.f64 a (/.f64 4 t))))
(+.f64 c (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) b)) (*.f64 (/.f64 a 4) t)))
(fma.f64 x y (fma.f64 (/.f64 z 16) b (fma.f64 -1 (*.f64 t (/.f64 a 4)) c)))
(fma.f64 x y (fma.f64 b (/.f64 z 16) (-.f64 c (*.f64 t (/.f64 a 4)))))
(+.f64 c (fma.f64 b (/.f64 z 16) (fma.f64 x y (*.f64 t (*.f64 -1/4 a)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z c) 16)) (/.f64 (*.f64 a b) 4)) t)
(-.f64 (fma.f64 x y (/.f64 z (/.f64 16 c))) (-.f64 (/.f64 a (/.f64 4 b)) t))
(+.f64 t (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) c)) (/.f64 a (/.f64 4 b))))
(fma.f64 (/.f64 z 16) c (fma.f64 x y (fma.f64 -1 (*.f64 a (/.f64 b 4)) t)))
(fma.f64 x y (fma.f64 c (/.f64 z 16) (-.f64 t (*.f64 a (/.f64 b 4)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 b a) 4)) c)
(+.f64 (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 a (/.f64 4 b))) c)
(+.f64 (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 b))) c)
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 a (/.f64 b 4)) c)))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 c (*.f64 a (/.f64 b 4)))))
(+.f64 (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 b)))) c)
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 c b) 4)) a)
(+.f64 a (-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (/.f64 c (/.f64 4 b))))
(+.f64 a (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 b (/.f64 4 c))))
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (/.f64 b (/.f64 4 c)) a)))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 a (*.f64 b (/.f64 c 4)))))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (+.f64 a (*.f64 b (*.f64 -1/4 c)))))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a c) 4)) b)
(-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 c)) b))
(+.f64 b (-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (/.f64 a (/.f64 4 c))))
(fma.f64 x y (fma.f64 (/.f64 z 16) t (fma.f64 -1 (*.f64 c (/.f64 a 4)) b)))
(fma.f64 x y (fma.f64 z (/.f64 t 16) (-.f64 b (*.f64 a (/.f64 c 4)))))
(+.f64 b (fma.f64 x y (fma.f64 z (/.f64 t 16) (*.f64 a (*.f64 -1/4 c)))))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 31 to 24 computations (22.6% saved)

simplify137.0ms (0.8%)

Algorithm
egg-herbie
Rules
1243×fma-neg_binary64
515×fma-def_binary64
259×cancel-sign-sub-inv_binary64
147×distribute-rgt-in_binary64
127×sub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01823
13423
27722
317421
441619
592819
6161819
7266119
8354719
9371119
10376619
11377619
12377619
13409219
14409619
15409619
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
Outputs
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(-.f64 (fma.f64 x y (/.f64 z (/.f64 16 t))) (-.f64 (/.f64 a (/.f64 4 b)) c))
(-.f64 (fma.f64 x y (*.f64 (/.f64 z 16) t)) (-.f64 (*.f64 (/.f64 a 4) b) c))
(fma.f64 (/.f64 z 16) t (fma.f64 x y (fma.f64 -1 (*.f64 b (/.f64 a 4)) c)))
(fma.f64 t (/.f64 z 16) (fma.f64 x y (-.f64 c (*.f64 b (/.f64 a 4)))))
(fma.f64 x y (fma.f64 b (*.f64 -1/4 a) (fma.f64 t (/.f64 z 16) c)))
(fma.f64 x y (fma.f64 t (/.f64 z 16) (fma.f64 -1/4 (*.f64 a b) c)))
(fma.f64 x y (fma.f64 t (/.f64 z 16) (fma.f64 (*.f64 a b) -1/4 c)))
(fma.f64 x y (fma.f64 t (*.f64 1/16 z) (fma.f64 (*.f64 a b) -1/4 c)))
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)))

eval1.0ms (0%)

Compiler

Compiled 38 to 23 computations (39.5% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
0.0b
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)))
Compiler

Compiled 45 to 31 computations (31.1% saved)

localize23.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
0.0b
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
0.0b
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
Compiler

Compiled 76 to 32 computations (57.9% saved)

series24.0ms (0.1%)

Counts
3 → 204
Calls

51 calls:

TimeVariablePointExpression
3.0ms
z
@inf
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
1.0ms
x
@0
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
1.0ms
t
@0
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
1.0ms
y
@0
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
1.0ms
a
@0
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))

rewrite114.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
554×fma-neg_binary64
372×expm1-udef_binary64
372×log1p-udef_binary64
209×add-sqr-sqrt_binary64
205×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01854
141150
2606750
Stop Event
node limit
Counts
3 → 146
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1/16) (fma.f64 x y (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1/16) (+.f64 (*.f64 x y) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (fma.f64 -1/4 (*.f64 a b) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4)))) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b 1/4))) 2) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (+.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2)) (/.f64 1 (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))))) (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))) (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 a (*.f64 b 1/4)) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (pow.f64 (*.f64 a (*.f64 b 1/4)) 2))) (neg.f64 (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 a (*.f64 b 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 4 b)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) a)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (/.f64 4 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 4 b)) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) a)) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (/.f64 4 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) 4) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (*.f64 a b))) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) 4) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (*.f64 a b))) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 4 (*.f64 a b))) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) 1)) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (/.f64 4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 4 (*.f64 a b))) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) 1)) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (/.f64 4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) -4) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (*.f64 a (neg.f64 b)))) (*.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) -4) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (*.f64 a (neg.f64 b)))) (*.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) (*.f64 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (-.f64 (*.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4)) (*.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (-.f64 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4))) (-.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))) (*.f64 (*.f64 a b) -1/4))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))) (/.f64 (pow.f64 (*.f64 (*.f64 z t) 1/16) 2) (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (+.f64 (pow.f64 (*.f64 (*.f64 z t) 1/16) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 z t) 1/16) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z t) 1/16 (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 z t) 1/16)) 2) (cbrt.f64 (*.f64 (*.f64 z t) 1/16)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 (*.f64 z t) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 z t) 1/16)) (sqrt.f64 (*.f64 (*.f64 z t) 1/16)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 (*.f64 z t) 1/16))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (-.f64 (*.f64 a (*.f64 b 1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) (/.f64 (*.f64 c c) (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 c (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (*.f64 a (*.f64 b 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) (pow.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 2) (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) (sqrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c)) (/.f64 1 (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))) (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c)) (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 c c))) (neg.f64 (-.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 3) (pow.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (+.f64 (*.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c) (-.f64 (*.f64 a (*.f64 b 1/4)) c)) (*.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 2) (*.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c) (-.f64 (*.f64 a (*.f64 b 1/4)) c))) (+.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) 2)) (-.f64 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) 1 (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 (*.f64 z t) 1/16)) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) 2) (cbrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) (sqrt.f64 (fma.f64 x y (fma.f64 z (*.f64 t 1/16) (*.f64 (*.f64 a b) -1/4)))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (sqrt.f64 (fma.f64 x y (*.f64 (*.f64 z t) 1/16))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (*.f64 (pow.f64 (*.f64 z t) 3) 1/4096)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z t) 1/16) (-.f64 (*.f64 (*.f64 z t) 1/16) (*.f64 x y))))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 (*.f64 z t) 1/16) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 (*.f64 z t) 1/16))) (neg.f64 (-.f64 (*.f64 a (*.f64 b 1/4)) c)))))))

simplify246.0ms (1.5%)

Algorithm
egg-herbie
Rules
1185×fma-neg_binary64
706×fma-def_binary64
344×cancel-sign-sub-inv_binary64
115×distribute-rgt-neg-in_binary64
113×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0303091
1713083
21682945
34422945
47182945
511512945
621262945
729582945
833482945
934542945
1034542945
1137512945
1237512945
Stop Event
saturated
Counts
350 → 169
Calls
Call 1
Inputs
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
c
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
c
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
Outputs
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))
(fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))
(fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 y x)
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 (*.f64 a b) -1/4))
(fma.f64 y x (*.f64 (*.f64 a b) -1/4))
(fma.f64 a (*.f64 b -1/4) (*.f64 y x))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 (*.f64 a b) -1/4))
(fma.f64 y x (*.f64 (*.f64 a b) -1/4))
(fma.f64 a (*.f64 b -1/4) (*.f64 y x))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 (*.f64 a b) -1/4 c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 (*.f64 a b) -1/4 c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 y x)
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) c) (*.f64 (*.f64 a b) -1/4))
(+.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c)
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) c) (*.f64 (*.f64 a b) -1/4))
(+.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c)
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 1/16 (*.f64 t z))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 (fma.f64 y x (*.f64 1/16 (*.f64 t z))) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 y x c))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 (fma.f64 y x (*.f64 1/16 (*.f64 t z))) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 y x c))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) (*.f64 y x)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
c
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
c
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(-.f64 (+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)
(+.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))
(fma.f64 (*.f64 a b) -1/4 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))

localize20.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))
0.0b
(fma.f64 (*.f64 a b) -1/4 c)
Compiler

Compiled 53 to 25 computations (52.8% saved)

series11.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(fma.f64 (*.f64 a b) -1/4 c)
1.0ms
t
@0
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))
1.0ms
z
@0
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))
1.0ms
z
@-inf
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))
1.0ms
z
@inf
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))

rewrite70.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
532×log-prod_binary64
421×exp-prod_binary64
356×prod-exp_binary64
321×pow-prod-down_binary64
303×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01223
123923
2270023
Stop Event
node limit
Counts
2 → 73
Calls
Call 1
Inputs
(fma.f64 (*.f64 a b) -1/4 c)
(fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (*.f64 b -1/4)) 1) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 a (*.f64 b -1/4)) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c))) 2)) (cbrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))) (sqrt.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (exp.f64 b) (*.f64 a -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (*.f64 a -1/4)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 a (*.f64 b -1/4) c))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b -1/4) c) (*.f64 (*.f64 t z) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 t z) 1/16) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 t z) 1/16) 1) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 t z) 1/16 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 2) (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 t z) 1/16) 3) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 t z) 1/16) 2) (-.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) (*.f64 (*.f64 (*.f64 t z) 1/16) (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 t z) 1/16) 2) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2)) (-.f64 (*.f64 (*.f64 t z) 1/16) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 2)) (cbrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))) (sqrt.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))) (pow.f64 (pow.f64 (exp.f64 z) 1/16) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 z) 1/16) t) (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (*.f64 t z) 1/16 (fma.f64 a (*.f64 b -1/4) c))) 1) 1))))))

simplify30.0ms (0.2%)

Algorithm
egg-herbie
Rules
36×fma-def_binary64
10×*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0161186
1301124
2581034
3921034
Stop Event
saturated
Counts
169 → 84
Calls
Call 1
Inputs
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
Outputs
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 -1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))

eval112.0ms (0.7%)

Compiler

Compiled 6151 to 3234 computations (47.4% saved)

prune106.0ms (0.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New24211253
Fresh000
Picked101
Done101
Total24411255
Error
0b
Counts
255 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(+.f64 (*.f64 y x) c)
13.3b
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c))
13.4b
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
0.0b
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
35.5b
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
14.5b
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
27.8b
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
15.2b
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c))
15.2b
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
29.5b
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
42.2b
c
Compiler

Compiled 336 to 245 computations (27.1% saved)

localize53.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
0.0b
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))
0.0b
(fma.f64 1/16 (*.f64 t z) c)
Compiler

Compiled 51 to 23 computations (54.9% saved)

series18.0ms (0.1%)

Counts
3 → 180
Calls

45 calls:

TimeVariablePointExpression
2.0ms
y
@0
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
1.0ms
t
@-inf
(fma.f64 1/16 (*.f64 t z) c)
1.0ms
a
@0
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
1.0ms
b
@-inf
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
1.0ms
b
@inf
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
673×log-prod_binary64
416×pow-prod-down_binary64
385×pow2_binary64
269×pow1/3_binary64
267×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
129839
2340739
Stop Event
node limit
Counts
3 → 92
Calls
Call 1
Inputs
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 (*.f64 1/16 t) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/16 t) z) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 1/16 t) z) 1) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/16 t) z) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/16 t) z) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 (*.f64 1/16 t) z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/16 t) z) 2) (*.f64 c c)) (-.f64 (*.f64 (*.f64 1/16 t) z) c))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (exp.f64 (*.f64 (*.f64 1/16 t) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (*.f64 (*.f64 1/16 t) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/16 t) z)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) 1) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 1/16 t) z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) (cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)) (cbrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (-.f64 (*.f64 y x) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (exp.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (exp.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y x)) (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 b -1/4)) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (*.f64 b -1/4)) 1) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b -1/4) (*.f64 y x)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (-.f64 (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 a (*.f64 b -1/4)) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (pow.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)) 2)) (-.f64 (*.f64 a (*.f64 b -1/4)) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) (exp.f64 (*.f64 a (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) (exp.f64 (*.f64 a (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 b -1/4))) (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))) 1))))))

simplify102.0ms (0.6%)

Algorithm
egg-herbie
Rules
106×fma-def_binary64
21×associate-+l+_binary64
14×associate-+r+_binary64
11×+-commutative_binary64
11×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0252535
1532473
21082245
32052245
42172245
Stop Event
saturated
Counts
272 → 112
Calls
Call 1
Inputs
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (*.f64 y x))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (*.f64 y x))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
c
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
c
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
c
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
c
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
Outputs
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (*.f64 y x))
(fma.f64 y x c)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (*.f64 y x))
(fma.f64 y x c)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 1/16 t) z (*.f64 y x))
(fma.f64 t (*.f64 1/16 z) (*.f64 y x))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
c
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
c
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 y x (*.f64 1/16 (*.f64 t z))))
(+.f64 c (fma.f64 (*.f64 1/16 t) z (*.f64 y x)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (fma.f64 (*.f64 1/16 t) z c) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (fma.f64 (*.f64 1/16 t) z c) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 y x)
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 (*.f64 -1/4 a) b (*.f64 y x)))
(fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 (*.f64 -1/4 a) b (*.f64 y x)))
(fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 t (*.f64 1/16 z) (fma.f64 a (*.f64 -1/4 b) (*.f64 y x)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
c
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
c
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))
(+.f64 c (+.f64 (*.f64 y x) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 c (fma.f64 y x (fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 y x (fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 -1/4 b) c)))
(fma.f64 1/16 (*.f64 t z) (fma.f64 y x (fma.f64 a (*.f64 -1/4 b) c)))

localize7.0ms (0%)

Compiler

Compiled 18 to 9 computations (50% saved)

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
Compiler

Compiled 26 to 17 computations (34.6% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
a
@0
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
0.0ms
c
@0
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
0.0ms
b
@0
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
0.0ms
b
@-inf
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
0.0ms
a
@inf
(+.f64 (*.f64 a (*.f64 b -1/4)) c)

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
899×pow1_binary64
836×add-log-exp_binary64
836×log1p-expm1-u_binary64
836×expm1-log1p-u_binary64
818×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11728
222658
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (-.f64 (*.f64 a (*.f64 b -1/4)) c)) (/.f64 (*.f64 c c) (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c)) (/.f64 1 (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4))))) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a (*.f64 b -1/4)) c) (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 a (*.f64 (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c (-.f64 c (*.f64 a (*.f64 b -1/4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 b -1/4)) 2) (*.f64 c c))) (neg.f64 (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 a (*.f64 b -1/4)) 2)) (-.f64 c (*.f64 a (*.f64 b -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b -1/4) a c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) 2) (cbrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 b -1/4))) (sqrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 c)))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08309
113255
223255
329255
Stop Event
saturated
Counts
72 → 40
Calls
Call 1
Inputs
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
Outputs
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) c)
(fma.f64 a (*.f64 -1/4 b) c)

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
Compiler

Compiled 40 to 16 computations (60% saved)

series5.0ms (0%)

Counts
1 → 33
Calls

15 calls:

TimeVariablePointExpression
0.0ms
c
@0
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
0.0ms
y
@0
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
0.0ms
y
@-inf
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
0.0ms
x
@-inf
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
0.0ms
y
@inf
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))

rewrite77.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
686×log-prod_binary64
581×fma-def_binary64
358×pow2_binary64
268×fma-neg_binary64
247×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01216
126714
2379612
Stop Event
node limit
Counts
1 → 157
Calls
Call 1
Inputs
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2)) (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))) (neg.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (pow.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 3)) (fma.f64 c c (-.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 2) (*.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x c) 3) (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (+.f64 (pow.f64 (fma.f64 y x c) 2) (-.f64 (pow.f64 (*.f64 (*.f64 a b) -1/4) 2) (*.f64 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 2)) (-.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (pow.f64 (*.f64 (*.f64 a b) -1/4) 2)) (-.f64 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2)) (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 y x c)) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (exp.f64 (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x c)) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x c))) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (exp.f64 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (exp.f64 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (+.f64 1 (expm1.f64 (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (+.f64 1 (expm1.f64 (fma.f64 y x c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 y) x) (pow.f64 (pow.f64 (exp.f64 a) b) 1/4)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x c) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x c) 1 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (neg.f64 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 a b) -1/4) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x c)) (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x c)) (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (cbrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x c)) 2) (cbrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 y x c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x c)) (sqrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x c)) (sqrt.f64 (fma.f64 y x c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c)) (pow.f64 (fma.f64 y x c) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c))))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 c 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 y x) (fma.f64 y x (neg.f64 c))))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 y x c) 2) (*.f64 (pow.f64 (*.f64 a b) 2) 1/16)) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 y x c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 c (*.f64 y x))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 c (*.f64 y x))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) 2) (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 a b)) 1/4 (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/4 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 y x c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 x) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2)) (cbrt.f64 (*.f64 1/4 (*.f64 a b))) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (fma.f64 y x c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))))

simplify52.0ms (0.3%)

Algorithm
egg-herbie
Rules
518×fma-def_binary64
326×fma-neg_binary64
116×cancel-sign-sub-inv_binary64
56×distribute-rgt-neg-in_binary64
56×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017343
136339
280299
3188299
4284299
5430299
6708299
7980299
81233299
91627299
101648299
Stop Event
saturated
Counts
190 → 169
Calls
Call 1
Inputs
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
c
c
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(*.f64 y x)
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(*.f64 y x)
(*.f64 y x)
(+.f64 c (*.f64 y x))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 y x))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
Outputs
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 (*.f64 a b) -1/4))
(fma.f64 y x (*.f64 b (*.f64 a -1/4)))
(fma.f64 y x (*.f64 a (*.f64 b -1/4)))
c
c
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(+.f64 c (*.f64 (*.f64 a b) -1/4))
(+.f64 c (*.f64 b (*.f64 a -1/4)))
(fma.f64 a (*.f64 b -1/4) c)
(fma.f64 b (*.f64 a -1/4) c)
(*.f64 y x)
(*.f64 y x)
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(+.f64 c (*.f64 (*.f64 a b) -1/4))
(+.f64 c (*.f64 b (*.f64 a -1/4)))
(fma.f64 a (*.f64 b -1/4) c)
(fma.f64 b (*.f64 a -1/4) c)
(*.f64 y x)
(*.f64 y x)
(+.f64 c (*.f64 y x))
(+.f64 (*.f64 y x) c)
(fma.f64 y x c)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (*.f64 y x))
(+.f64 (*.f64 y x) c)
(fma.f64 y x c)
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 y x (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 y x (*.f64 b (*.f64 a -1/4))))
(fma.f64 b (*.f64 a -1/4) (fma.f64 y x c))
(fma.f64 y x (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 y x (fma.f64 b (*.f64 a -1/4) c))

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
Compiler

Compiled 28 to 14 computations (50% saved)

series4.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
x
@0
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
0.0ms
y
@-inf
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
0.0ms
y
@0
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
0.0ms
y
@inf
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
0.0ms
x
@-inf
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))

rewrite89.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
845×pow1_binary64
776×add-log-exp_binary64
776×log1p-expm1-u_binary64
776×expm1-log1p-u_binary64
759×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0911
118111
2209911
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 2) (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) (sqrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 1/16 (*.f64 t z)) 3)) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (-.f64 (*.f64 (pow.f64 (*.f64 t z) 2) 1/256) (*.f64 (*.f64 x y) (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (-.f64 (*.f64 x y) (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 1/16 (*.f64 t z)))))))))

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010462
117462
228462
334462
Stop Event
saturated
Counts
69 → 26
Calls
Call 1
Inputs
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
Outputs
(*.f64 1/16 (*.f64 t z))
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(*.f64 1/16 (*.f64 t z))
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(fma.f64 y x (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) (*.f64 y x))

eval171.0ms (1%)

Compiler

Compiled 6358 to 3013 computations (52.6% saved)

prune133.0ms (0.8%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New3398347
Fresh336
Picked011
Done224
Total34414358
Error
0b
Counts
358 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
49.9b
(*.f64 z (*.f64 1/16 t))
27.9b
(+.f64 (*.f64 y x) c)
48.1b
(*.f64 a (*.f64 b -1/4))
15.2b
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c))
33.6b
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
48.1b
(*.f64 y x)
29.5b
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
35.5b
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
20.7b
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
27.8b
(fma.f64 (*.f64 b -1/4) a c)
35.5b
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
14.5b
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
27.8b
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
42.2b
c
Compiler

Compiled 349 to 266 computations (23.8% saved)

localize29.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 c (*.f64 1/16 (*.f64 t z)))
0.0b
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
Compiler

Compiled 50 to 24 computations (52% saved)

series8.0ms (0%)

Counts
2 → 42
Calls

24 calls:

TimeVariablePointExpression
0.0ms
c
@0
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
0.0ms
c
@inf
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
0.0ms
t
@inf
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
0.0ms
c
@-inf
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
0.0ms
z
@inf
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))

rewrite122.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
783×log-prod_binary64
644×fma-def_binary64
292×fma-neg_binary64
275×expm1-udef_binary64
275×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01429
130825
2426723
Stop Event
node limit
Counts
2 → 215
Calls
Call 1
Inputs
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 c (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))) (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) (neg.f64 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 c 3) (pow.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 3)) (fma.f64 c c (-.f64 (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (*.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (+.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4) (neg.f64 (*.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))) (-.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 (*.f64 a b) -1/4))) (-.f64 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (exp.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (exp.f64 (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))) (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (exp.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (exp.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (pow.f64 (pow.f64 (exp.f64 b) a) 1/4)) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (*.f64 t z)) 1 (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/16 (*.f64 t z) c) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/16 (*.f64 t z) c) 1 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (neg.f64 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/16 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) c) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 a b) -1/4) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (cbrt.f64 (*.f64 1/16 (*.f64 t z))) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (/.f64 1 (+.f64 c (*.f64 -1/16 (*.f64 t z)))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (/.f64 1 (+.f64 c (*.f64 -1/16 (*.f64 t z)))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (cbrt.f64 (*.f64 (*.f64 a b) -1/4))) (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 a b)) 1/4 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 -1/4 (*.f64 a b) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2)) (cbrt.f64 (*.f64 1/4 (*.f64 a b))) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (cbrt.f64 (pow.f64 (*.f64 t z) 2))) (cbrt.f64 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 c (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) c))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 c c) (+.f64 c (*.f64 -1/16 (*.f64 t z)))) (/.f64 (*.f64 (pow.f64 (*.f64 t z) 2) 1/256) (+.f64 c (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 t z) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (/.f64 1 (+.f64 c (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))) (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 c (*.f64 -1/16 (*.f64 t z))) (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3)) (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (-.f64 (*.f64 c c) (*.f64 (*.f64 c 1/16) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256)) (+.f64 c (*.f64 -1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 c 3))) (neg.f64 (fma.f64 c c (*.f64 (*.f64 1/16 (*.f64 t z)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 c c) (*.f64 (pow.f64 (*.f64 t z) 2) 1/256))) (neg.f64 (+.f64 c (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (neg.f64 (*.f64 c c))) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 t z) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 t z) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (pow.f64 (exp.f64 z) t) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z)))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 z) t) 1/16) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/16 (*.f64 t z)))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 t z) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 t z) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (*.f64 t z)) 1 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/16 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (cbrt.f64 (*.f64 1/16 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (cbrt.f64 (pow.f64 (*.f64 t z) 2))) (cbrt.f64 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) c)))))

simplify75.0ms (0.4%)

Algorithm
egg-herbie
Rules
615×fma-def_binary64
412×fma-neg_binary64
141×cancel-sign-sub-inv_binary64
86×distribute-rgt-neg-in_binary64
68×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
019457
141453
295413
3224413
4337413
5541413
6883413
71255413
81579413
92006413
102027413
Stop Event
saturated
Counts
257 → 227
Calls
Call 1
Inputs
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
c
c
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
c
c
c
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
c
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
Outputs
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))
(fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4)))
(fma.f64 1/16 (*.f64 t z) (*.f64 a (*.f64 b -1/4)))
c
c
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(+.f64 c (*.f64 (*.f64 a b) -1/4))
(+.f64 c (*.f64 b (*.f64 a -1/4)))
(fma.f64 a (*.f64 b -1/4) c)
(fma.f64 b (*.f64 a -1/4) c)
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
(-.f64 c (*.f64 1/4 (*.f64 a b)))
(+.f64 c (*.f64 (*.f64 a b) -1/4))
(+.f64 c (*.f64 b (*.f64 a -1/4)))
(fma.f64 a (*.f64 b -1/4) c)
(fma.f64 b (*.f64 a -1/4) c)
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 (*.f64 1/16 t) z) c)
(fma.f64 1/16 (*.f64 t z) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 (*.f64 1/16 t) z) c)
(fma.f64 1/16 (*.f64 t z) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 a b) -1/4)
(*.f64 b (*.f64 a -1/4))
(*.f64 a (*.f64 b -1/4))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4)))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 a -1/4))))
(fma.f64 1/16 (*.f64 t z) (fma.f64 a (*.f64 b -1/4) c))
(fma.f64 1/16 (*.f64 t z) (fma.f64 b (*.f64 a -1/4) c))
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
c
c
c
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
c
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)
(*.f64 1/16 (*.f64 t z))
(*.f64 (*.f64 1/16 t) z)

localize5.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (*.f64 1/16 t))
Compiler

Compiled 18 to 13 computations (27.8% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
3.0ms
t
@0
(*.f64 z (*.f64 1/16 t))
1.0ms
z
@0
(*.f64 z (*.f64 1/16 t))
0.0ms
t
@inf
(*.f64 z (*.f64 1/16 t))
0.0ms
z
@inf
(*.f64 z (*.f64 1/16 t))
0.0ms
t
@-inf
(*.f64 z (*.f64 1/16 t))

rewrite47.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
551×pow1_binary64
510×add-log-exp_binary64
510×log1p-expm1-u_binary64
510×expm1-log1p-u_binary64
500×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11227
213957
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 z (*.f64 1/16 t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (*.f64 1/16 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 1/16 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (*.f64 1/16 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (*.f64 1/16 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (*.f64 1/16 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (*.f64 1/16 t))))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
110168
217168
319168
Stop Event
saturated
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
Outputs
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
Compiler

Compiled 32 to 15 computations (53.1% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
0.0ms
x
@inf
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
0.0ms
x
@0
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
0.0ms
y
@inf
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
0.0ms
t
@inf
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
540×log-prod_binary64
405×exp-prod_binary64
359×fma-def_binary64
358×pow-prod-down_binary64
278×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01011
121211
2277311
Stop Event
node limit
Counts
1 → 78
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))) (/.f64 (pow.f64 (*.f64 (*.f64 1/16 z) t) 2) (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2)) (/.f64 1 (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y x (*.f64 -1/16 (*.f64 t z))) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3)) (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 y (*.f64 x (*.f64 (*.f64 1/16 z) t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2)) (fma.f64 y x (*.f64 -1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3))) (neg.f64 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2))) (neg.f64 (fma.f64 y x (*.f64 -1/16 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/16 z) t) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 1/16 z) t) (-.f64 (*.f64 (*.f64 1/16 z) t) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 y x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y x (*.f64 -1/16 (*.f64 t z))) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/16 z) t) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 2)) (cbrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))) (sqrt.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 1/16) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y x)) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t))) (exp.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/16) (*.f64 t z)) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/16 z) t))) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 1/16 z) t))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 z) t) 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 1/16 z) t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 t z) 2)) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) 2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) 2) (cbrt.f64 (*.f64 (*.f64 1/16 z) t)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 t z)) 1/4) (*.f64 (sqrt.f64 (*.f64 t z)) 1/4) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 1/16 z) t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (cbrt.f64 (pow.f64 (*.f64 t z) 2))) (cbrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0966
11466
22166
32366
Stop Event
saturated
Counts
90 → 80
Calls
Call 1
Inputs
(*.f64 1/16 (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(*.f64 1/16 (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 y x)
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
Outputs
(*.f64 1/16 (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(*.f64 1/16 (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))
(*.f64 y x)
(*.f64 1/16 (*.f64 t z))
(*.f64 1/16 (*.f64 t z))

localize8.0ms (0%)

Compiler

Compiled 20 to 13 computations (35% saved)

eval138.0ms (0.8%)

Compiler

Compiled 6255 to 3158 computations (49.5% saved)

prune70.0ms (0.4%)

Pruning

15 alts after pruning (7 fresh and 8 done)

PrunedKeptTotal
New3163319
Fresh246
Picked011
Done077
Total31815333
Error
0b
Counts
333 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
14.5b
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
27.9b
(+.f64 (*.f64 y x) c)
49.9b
(*.f64 z (*.f64 1/16 t))
48.1b
(*.f64 a (*.f64 b -1/4))
20.7b
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
48.1b
(*.f64 y x)
29.5b
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
35.5b
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
35.2b
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
27.8b
(fma.f64 (*.f64 b -1/4) a c)
35.5b
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
14.5b
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
27.8b
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
42.2b
c
33.6b
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
Compiler

Compiled 320 to 245 computations (23.4% saved)

localize41.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
0.0b
(+.f64 c (*.f64 (*.f64 a b) -1/4))
Compiler

Compiled 44 to 23 computations (47.7% saved)

series8.0ms (0%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
0.0ms
z
@0
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
0.0ms
t
@0
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
0.0ms
t
@-inf
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
0.0ms
t
@inf
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
0.0ms
c
@0
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
646×log-prod_binary64
414×pow-prod-down_binary64
351×pow2_binary64
318×fma-def_binary64
244×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01327
127123
2339323
Stop Event
node limit
Counts
2 → 92
Calls
Call 1
Inputs
(+.f64 c (*.f64 (*.f64 a b) -1/4))
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 c c) (+.f64 c (*.f64 1/4 (*.f64 a b)))) (/.f64 (*.f64 1/16 (pow.f64 (*.f64 a b) 2)) (+.f64 c (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2) (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3)) (/.f64 1 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (+.f64 c (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))) (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 c (*.f64 1/4 (*.f64 a b))) (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3)) (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3)) (fma.f64 1/16 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 c c) (*.f64 (*.f64 c a) (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (+.f64 c (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3))) (neg.f64 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) (neg.f64 (+.f64 c (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/16 (pow.f64 (*.f64 a b) 2)) (*.f64 c c)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 b -1/4) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 b -1/4) c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 c c (*.f64 (*.f64 a (*.f64 b -1/4)) (-.f64 (*.f64 a (*.f64 b -1/4)) c))) (fma.f64 (pow.f64 (*.f64 a b) 3) -1/64 (pow.f64 c 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 c (*.f64 1/4 (*.f64 a b))) (-.f64 (*.f64 c c) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (pow.f64 (pow.f64 (exp.f64 a) b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 c) (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 c)) (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4)))) (exp.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 a) b) -1/4) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a (*.f64 b -1/4)))) (+.f64 1 (expm1.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 b -1/4) c)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c 1 (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 a -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (*.f64 b -1/4)) 1 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (pow.f64 (cbrt.f64 c) 2) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) 2) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 b -1/4))) 2) (cbrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) -1/4) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 b -1/4)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 b -1/4))) (sqrt.f64 (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b -1/4) a c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) c)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b -1/4) c) (*.f64 1/16 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/16 (*.f64 z t)) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/16 (*.f64 z t)) 1) (fma.f64 a (*.f64 b -1/4) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 z t) c) (*.f64 a (*.f64 b -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/16 (*.f64 z t) (*.f64 a (*.f64 b -1/4))) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) (sqrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 z t)) 3) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 3)) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 z t)) 2) (-.f64 (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2) (*.f64 (*.f64 1/16 (*.f64 z t)) (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 z t)) 2) (pow.f64 (fma.f64 a (*.f64 b -1/4) c) 2)) (-.f64 (*.f64 1/16 (*.f64 z t)) (fma.f64 a (*.f64 b -1/4) c)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a (*.f64 b -1/4) c)) (exp.f64 (*.f64 1/16 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c))) (exp.f64 (*.f64 1/16 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 1/16 (*.f64 z t))) (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 b -1/4) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 z t) (fma.f64 a (*.f64 b -1/4) c))) 1))))))

simplify32.0ms (0.2%)

Algorithm
egg-herbie
Rules
36×fma-def_binary64
10×*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0161186
1301124
2581034
3921034
Stop Event
saturated
Counts
188 → 104
Calls
Call 1
Inputs
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(*.f64 -1/4 (*.f64 a b))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
Outputs
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
c
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 (*.f64 -1/4 a) b) c)
(fma.f64 (*.f64 -1/4 a) b c)
(fma.f64 a (*.f64 -1/4 b) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b))
(fma.f64 1/16 (*.f64 t z) (*.f64 b (*.f64 -1/4 a)))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
c
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(*.f64 -1/4 (*.f64 a b))
(*.f64 (*.f64 -1/4 a) b)
(*.f64 b (*.f64 -1/4 a))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))
(+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b))))
(+.f64 c (fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 -1/4 a) b)))
(+.f64 (*.f64 b (*.f64 -1/4 a)) (fma.f64 1/16 (*.f64 t z) c))
(fma.f64 -1/4 (*.f64 a b) (fma.f64 1/16 (*.f64 t z) c))

localize8.0ms (0%)

Compiler

Compiled 18 to 13 computations (27.8% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Compiler

Compiled 26 to 14 computations (46.2% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
t
@0
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
0.0ms
t
@inf
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
0.0ms
c
@0
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
0.0ms
t
@-inf
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
0.0ms
z
@inf
(+.f64 (*.f64 1/16 (*.f64 t z)) c)

rewrite70.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
895×pow1_binary64
833×add-log-exp_binary64
833×log1p-expm1-u_binary64
833×expm1-log1p-u_binary64
816×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11738
222658
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 (*.f64 1/16 t) z c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))) (/.f64 (*.f64 c c) (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 1/16 t) z c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 1/16 t) z c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 2) (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 1/16 t) z c)) (sqrt.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c)) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z))))) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/16 (*.f64 t z) (neg.f64 c)) (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3)) (+.f64 (*.f64 c c) (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 1/16 (*.f64 (*.f64 t z) c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c)) (fma.f64 1/16 (*.f64 t z) (neg.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 3) (pow.f64 c 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c (-.f64 c (*.f64 1/16 (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 1/16 (*.f64 t z)) 2) (*.f64 c c))) (neg.f64 (fma.f64 1/16 (*.f64 t z) (neg.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c c) (pow.f64 (*.f64 1/16 (*.f64 t z)) 2)) (-.f64 c (*.f64 1/16 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 1/16 t) z c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 1/16 t) z c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 1/16 t) z c)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 1/16 t) z c) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 1/16 t) z c) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 1/16 t) z c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/16 (*.f64 t z)) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 c (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t z))) 2) (cbrt.f64 (*.f64 1/16 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (cbrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/16 (*.f64 t z))) (sqrt.f64 (*.f64 1/16 (*.f64 t z))) c)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (sqrt.f64 c) (*.f64 1/16 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z c)))))

simplify59.0ms (0.4%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08309
113255
223255
329255
Stop Event
saturated
Counts
72 → 40
Calls
Call 1
Inputs
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
Outputs
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(*.f64 1/16 (*.f64 t z))
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
c
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)
(+.f64 c (*.f64 1/16 (*.f64 t z)))
(fma.f64 1/16 (*.f64 t z) c)
(fma.f64 t (*.f64 1/16 z) c)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
Compiler

Compiled 32 to 15 computations (53.1% saved)

series4.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
0.0ms
y
@inf
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
0.0ms
b
@-inf
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
0.0ms
y
@-inf
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
0.0ms
x
@inf
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))

rewrite112.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
573×log-prod_binary64
416×fma-def_binary64
360×pow-prod-down_binary64
288×pow2_binary64
200×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01013
122411
2293411
Stop Event
node limit
Counts
1 → 188
Calls
Call 1
Inputs
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/4 a) b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2)) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3))) (neg.f64 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2))) (neg.f64 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 -1/4 a) b) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 (*.f64 -1/4 a) b) 2) (*.f64 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 3) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2) (-.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 -1/4 a) b) 2)) (-.f64 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 2)) (-.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2)) (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 1/4) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 y x)) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (pow.f64 (exp.f64 a) b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (exp.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 a) b) -1/4) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (*.f64 a (neg.f64 b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) 1 (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 -1/4 a) b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (sqrt.f64 (fma.f64 y x (*.f64 (*.f64 -1/4 a) b))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (neg.f64 b)) 1/4 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 (*.f64 1/4 b) a) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 y x (*.f64 (*.f64 1/4 b) a)) (pow.f64 (*.f64 y x) 2))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 (*.f64 1/4 b) a) 2)) (/.f64 1 (fma.f64 y x (*.f64 (*.f64 1/4 b) a))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 -1/4 a) b)) 2) (cbrt.f64 (*.f64 (*.f64 -1/4 a) b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))) (fma.f64 y x (*.f64 (*.f64 -1/4 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 a) b)) (sqrt.f64 (*.f64 (*.f64 -1/4 a) b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (*.f64 1/4 b) a) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 -1/4 a) b) 1 (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 (*.f64 1/4 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (sqrt.f64 (*.f64 y x)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) 2)) (cbrt.f64 (*.f64 (*.f64 1/4 b) a)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 -1/4 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 (*.f64 -1/4 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (neg.f64 (-.f64 (*.f64 (*.f64 1/4 b) a) (fma.f64 (*.f64 a b) -1/4 (*.f64 (*.f64 1/4 b) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (*.f64 a b) 2))) (cbrt.f64 (*.f64 a b)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (*.f64 y x))))))

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010462
117462
228462
334462
Stop Event
saturated
Counts
236 → 192
Calls
Call 1
Inputs
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
Outputs
(*.f64 -1/4 (*.f64 a b))
(*.f64 b (*.f64 -1/4 a))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 -1/4 (*.f64 a b))
(*.f64 b (*.f64 -1/4 a))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 -1/4 (*.f64 a b))
(*.f64 b (*.f64 -1/4 a))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 -1/4 (*.f64 a b))
(*.f64 b (*.f64 -1/4 a))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 -1/4 (*.f64 a b))
(*.f64 b (*.f64 -1/4 a))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(*.f64 -1/4 (*.f64 a b))
(*.f64 b (*.f64 -1/4 a))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 y x (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 y x))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
Compiler

Compiled 40 to 20 computations (50% saved)

series5.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
0.0ms
t
@0
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
0.0ms
t
@inf
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
0.0ms
t
@-inf
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
0.0ms
b
@-inf
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))

rewrite131.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
670×log-prod_binary64
456×fma-def_binary64
409×pow-prod-down_binary64
332×pow2_binary64
239×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01216
126514
2339114
Stop Event
node limit
Counts
1 → 199
Calls
Call 1
Inputs
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 1/16 t)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) -1/4) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2)) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) (neg.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) (neg.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 t z) 3) 1/4096 (pow.f64 (*.f64 (*.f64 a b) -1/4) 3)) (fma.f64 (pow.f64 (*.f64 t z) 2) 1/256 (-.f64 (pow.f64 (*.f64 (*.f64 a b) -1/4) 2) (*.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 3) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 3)) (+.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2) (-.f64 (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (pow.f64 (*.f64 (*.f64 a b) -1/4) 2)) (-.f64 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2) (pow.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 2)) (-.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2)) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (pow.f64 (exp.f64 a) (*.f64 b 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 t) z) 1/16) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (+.f64 1 (expm1.f64 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (exp.f64 (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t)))) (pow.f64 (pow.f64 (exp.f64 a) b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))) (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (exp.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (pow.f64 (pow.f64 (exp.f64 t) z) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 a b) -1/4)) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 a) b) -1/4) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 1/16 t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/16 (*.f64 t z) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t (*.f64 z 1/16) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 1/16 t) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1/16 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 1/16 t)) 1 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (*.f64 a (neg.f64 b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) -1/4 (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) 1 (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 1/16 t)) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 a b) -1/4) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (cbrt.f64 (*.f64 t z)) 1/16) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) 2) (cbrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (*.f64 1/16 t))) 2) (cbrt.f64 (*.f64 z (*.f64 1/16 t))) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 t z)) 1/16) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (sqrt.f64 (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (neg.f64 b)) 1/4 (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 3) (*.f64 (pow.f64 (*.f64 a b) 3) 1/64)) (/.f64 1 (fma.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b))) (pow.f64 (*.f64 z (*.f64 1/16 t)) 2))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 1/16 t)) 2) (*.f64 1/16 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (fma.f64 1/16 (*.f64 t z) (*.f64 1/4 (*.f64 a b)))) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 a b) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 t) z (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 a) (neg.f64 b) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) 2) (cbrt.f64 (*.f64 (*.f64 a b) -1/4)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (sqrt.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))) (fma.f64 z (*.f64 1/16 t) (*.f64 (*.f64 a b) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (sqrt.f64 (*.f64 (*.f64 a b) -1/4)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/4 (*.f64 a b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (*.f64 (*.f64 a b) -1/4) 1 (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (fma.f64 (neg.f64 b) (*.f64 1/4 a) (*.f64 1/4 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (*.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/4 (sqrt.f64 (*.f64 t z)) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (-.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t z))) (*.f64 (sqrt.f64 (*.f64 a b)) 1/2)) (+.f64 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a b))) 2)) (cbrt.f64 (*.f64 1/4 (*.f64 a b))) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/4 a)) b (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 a) b (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (*.f64 z (*.f64 1/16 t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 z) t (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (pow.f64 (cbrt.f64 (*.f64 t z)) 2)) (cbrt.f64 (*.f64 t z)) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/16 (sqrt.f64 (*.f64 t z))) (sqrt.f64 (*.f64 t z)) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) 1) z (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 a b) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (*.f64 (*.f64 a b) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 (*.f64 a b) -1/4 (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/16 t) (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a b)) (fma.f64 (*.f64 a b) -1/4 (*.f64 1/4 (*.f64 a b))))))))))

simplify24.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×fma-def_binary64
10×*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012588
122588
241588
353588
Stop Event
saturated
Counts
247 → 203
Calls
Call 1
Inputs
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
Outputs
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 1/16 (*.f64 t z))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(*.f64 -1/4 (*.f64 a b))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/16 (*.f64 t z) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 -1/4 (*.f64 a b) (*.f64 1/16 (*.f64 t z)))

eval403.0ms (2.4%)

Compiler

Compiled 11604 to 6298 computations (45.7% saved)

prune129.0ms (0.8%)

Pruning

15 alts after pruning (3 fresh and 12 done)

PrunedKeptTotal
New5372539
Fresh112
Picked011
Done11112
Total53915554
Error
0b
Counts
554 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
49.9b
(*.f64 z (*.f64 1/16 t))
27.9b
(+.f64 (*.f64 y x) c)
35.2b
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
29.5b
(fma.f64 (*.f64 1/16 z) t c)
35.2b
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t)))
27.8b
(fma.f64 (*.f64 b -1/4) a c)
48.1b
(*.f64 y x)
29.5b
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
35.5b
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
48.1b
(*.f64 a (*.f64 b -1/4))
35.5b
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
14.5b
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
27.8b
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
42.2b
c
33.6b
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
Compiler

Compiled 210 to 163 computations (22.4% saved)

regimes487.0ms (2.9%)

Counts
26 → 1
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(fma.f64 (*.f64 1/16 z) t c)
(fma.f64 (*.f64 b -1/4) a c)
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t)))
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c))
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) (fma.f64 (*.f64 a b) -1/4 c)))
Outputs
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
Calls

22 calls:

41.0ms
z
33.0ms
c
30.0ms
x
27.0ms
y
25.0ms
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1c
0.0b1(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
0.0b1(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
0.0b1(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
0.0b1(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
0.0b1(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
0.0b1(*.f64 x y)
0.0b1(*.f64 x y)
0.0b1(/.f64 (*.f64 z t) 16)
0.0b1(/.f64 (*.f64 z t) 16)
0.0b1(*.f64 z t)
0.0b1(*.f64 z t)
0.0b1(/.f64 (*.f64 a b) 4)
0.0b1(/.f64 (*.f64 a b) 4)
0.0b1(*.f64 a b)
0.0b1(*.f64 a b)
Compiler

Compiled 493 to 318 computations (35.5% saved)

regimes414.0ms (2.5%)

Counts
24 → 1
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(fma.f64 (*.f64 1/16 z) t c)
(fma.f64 (*.f64 b -1/4) a c)
(fma.f64 x y (*.f64 1/16 (*.f64 t z)))
(fma.f64 (*.f64 -1/4 b) a (*.f64 z (*.f64 1/16 t)))
(fma.f64 (*.f64 1/16 z) t (+.f64 c (*.f64 (*.f64 a b) -1/4)))
(fma.f64 a (*.f64 b -1/4) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))))
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x c))
(fma.f64 x y (fma.f64 t (*.f64 z 1/16) c))
Outputs
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
Calls

15 calls:

84.0ms
a
55.0ms
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
49.0ms
(/.f64 (*.f64 a b) 4)
27.0ms
(*.f64 x y)
25.0ms
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1c
0.0b1(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
0.0b1(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4))
0.0b1(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16))
0.0b1(*.f64 x y)
0.0b1(/.f64 (*.f64 z t) 16)
0.0b1(*.f64 z t)
0.0b1(/.f64 (*.f64 a b) 4)
0.0b1(*.f64 a b)
Compiler

Compiled 373 to 234 computations (37.3% saved)

regimes638.0ms (3.8%)

Counts
15 → 3
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
Outputs
(-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
Calls

8 calls:

157.0ms
y
131.0ms
b
87.0ms
c
77.0ms
x
62.0ms
z
Results
ErrorSegmentsBranch
7.4b6x
5.6b3y
5.5b4z
6.6b6t
6.6b5a
5.8b6b
6.9b6c
5.4b3(*.f64 a b)
Compiler

Compiled 176 to 109 computations (38.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.00014614117785411132
0.00027046663008692363
0.0ms
-318542911.79388994
-8239632.192301444
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes469.0ms (2.8%)

Counts
14 → 3
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
Outputs
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c)
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
Calls

8 calls:

102.0ms
c
76.0ms
a
75.0ms
x
58.0ms
z
51.0ms
y
Results
ErrorSegmentsBranch
11.1b5x
9.3b6y
6.9b3z
8.0b3t
6.8b6a
8.4b3b
6.2b8c
5.7b3(*.f64 a b)
Compiler

Compiled 163 to 103 computations (36.8% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.00014614117785411132
0.00027046663008692363
0.0ms
-318542911.79388994
-8239632.192301444
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes547.0ms (3.3%)

Counts
13 → 10
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
Outputs
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Calls

8 calls:

109.0ms
a
109.0ms
b
104.0ms
c
93.0ms
(*.f64 a b)
36.0ms
z
Results
ErrorSegmentsBranch
12.3b3x
11.1b5y
10.0b3z
9.7b4t
11.0b5a
11.9b3b
6.5b10c
12.2b3(*.f64 a b)
Compiler

Compiled 152 to 99 computations (34.9% saved)

bsearch251.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
2.5037512526590507e+115
4.0124308060028886e+126
29.0ms
3.602587979800786e-13
2.0398388392652984e-11
27.0ms
1.954156676798629e-44
2.2210073295318824e-39
29.0ms
6.041668050320851e-140
9.954740211884649e-138
28.0ms
5.827907230892617e-150
7.848809128947344e-150
27.0ms
2.241597195780208e-298
1.5221308389724426e-297
28.0ms
-2.4599239581111038e-164
-1.0923153286640717e-171
28.0ms
-3.565656893866856e-110
-4.308845484735725e-114
28.0ms
-3.08148281323479e-20
-1.0483712670614254e-26
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes726.0ms (4.3%)

Counts
12 → 9
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
Outputs
(+.f64 (*.f64 y x) c)
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Calls

9 calls:

195.0ms
c
152.0ms
y
120.0ms
t
74.0ms
x
61.0ms
a
Results
ErrorSegmentsBranch
18.8b9x
15.5b9y
15.7b7z
15.7b13t
16.5b10a
19.2b5b
10.8b9c
19.6b3(*.f64 a b)
19.6b3(*.f64 a b)
Compiler

Compiled 151 to 103 computations (31.8% saved)

bsearch255.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
2.5037512526590507e+115
4.0124308060028886e+126
29.0ms
10.424782791921974
9.451084479349805e+22
27.0ms
3.602587979800786e-13
2.0398388392652984e-11
28.0ms
1.954156676798629e-44
2.2210073295318824e-39
28.0ms
6.041668050320851e-140
9.954740211884649e-138
27.0ms
5.827907230892617e-150
7.848809128947344e-150
61.0ms
2.241597195780208e-298
1.5221308389724426e-297
29.0ms
-3.08148281323479e-20
-1.0483712670614254e-26
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes646.0ms (3.9%)

Counts
11 → 7
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
Outputs
(+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z)))
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Calls

9 calls:

142.0ms
a
126.0ms
t
87.0ms
x
76.0ms
(*.f64 a b)
74.0ms
b
Results
ErrorSegmentsBranch
18.8b9x
17.8b4y
15.7b7z
16.9b9t
16.7b10a
19.2b5b
16.1b3c
19.6b3(*.f64 a b)
19.6b3(*.f64 a b)
Compiler

Compiled 140 to 98 computations (30% saved)

bsearch176.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
1.6320095734144689e-18
2.676250169398319e-18
30.0ms
7.327320089958261e-243
7.280134601137326e-242
40.0ms
-1.5283880744284696e-201
-1.0084016454778112e-201
30.0ms
-4.309850309758476e-166
-3.323314411429689e-166
31.0ms
-5.631268661282474e+34
-7.061157999366682e+33
15.0ms
-4.957562579206603e+143
-5.738639400238959e+134
Compiler

Compiled 66 to 51 computations (22.7% saved)

regimes372.0ms (2.2%)

Counts
10 → 3
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
Outputs
(+.f64 (*.f64 y x) c)
(-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b)))
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Calls

9 calls:

58.0ms
x
55.0ms
t
49.0ms
z
49.0ms
a
34.0ms
c
Results
ErrorSegmentsBranch
18.6b9x
17.8b4y
16.1b8z
16.9b9t
17.9b8a
19.2b5b
16.1b3c
19.6b3(*.f64 a b)
19.6b3(*.f64 a b)
Compiler

Compiled 131 to 95 computations (27.5% saved)

bsearch63.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
1.954156676798629e-44
2.2210073295318824e-39
32.0ms
-1030405013769350.9
-319338325737142.8
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes425.0ms (2.5%)

Counts
9 → 8
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Outputs
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 1/16 (*.f64 t z)) c)
Calls

7 calls:

105.0ms
x
80.0ms
z
58.0ms
y
48.0ms
c
43.0ms
a
Results
ErrorSegmentsBranch
18.9b9x
17.8b4y
17.0b8z
20.4b5t
17.9b8a
19.6b7b
19.8b8c
Compiler

Compiled 102 to 75 computations (26.5% saved)

bsearch367.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.6320095734144689e-18
2.676250169398319e-18
59.0ms
7.327320089958261e-243
7.280134601137326e-242
52.0ms
-1.5283880744284696e-201
-1.0084016454778112e-201
34.0ms
-4.309850309758476e-166
-3.323314411429689e-166
65.0ms
-5.631268661282474e+34
-7.061157999366682e+33
29.0ms
-6.69599741652044e+147
-6.261771155207202e+147
93.0ms
-4.342248702314076e+189
-9.647059131200071e+188
Compiler

Compiled 230 to 180 computations (21.7% saved)

regimes218.0ms (1.3%)

Counts
8 → 10
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
Outputs
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) c)
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(+.f64 (*.f64 a (*.f64 b -1/4)) c)
(+.f64 (*.f64 y x) c)
(*.f64 z (*.f64 1/16 t))
Calls

7 calls:

50.0ms
z
41.0ms
c
40.0ms
t
27.0ms
a
25.0ms
b
Results
ErrorSegmentsBranch
22.4b3x
19.0b3y
18.3b10z
22.4b7t
20.0b5a
21.6b5b
20.8b8c
Compiler

Compiled 95 to 71 computations (25.3% saved)

bsearch510.0ms (3%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
1.6320095734144689e-18
2.676250169398319e-18
27.0ms
7.327320089958261e-243
7.280134601137326e-242
43.0ms
-1.5283880744284696e-201
-1.0084016454778112e-201
28.0ms
-4.309850309758476e-166
-3.323314411429689e-166
141.0ms
-7.498614785942309e+124
-8.723279375879822e+121
83.0ms
-1.5775869523172168e+184
-5.873000759135115e+181
80.0ms
-1.183823957843325e+198
-2.8160906878674617e+191
59.0ms
-1.520527001623849e+217
-1.1062101150888598e+212
21.0ms
-7.452454075662943e+274
-3.53018879340967e+274
Compiler

Compiled 1098 to 879 computations (19.9% saved)

regimes664.0ms (4%)

Counts
7 → 7
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
Outputs
(+.f64 (*.f64 y x) c)
(*.f64 z (*.f64 1/16 t))
(+.f64 (*.f64 y x) c)
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
(*.f64 a (*.f64 b -1/4))
(+.f64 (*.f64 y x) c)
Calls

7 calls:

331.0ms
a
190.0ms
y
47.0ms
c
45.0ms
z
24.0ms
b
Results
ErrorSegmentsBranch
27.9b1x
23.7b7y
25.7b3z
24.3b4t
24.2b6a
25.4b4b
22.4b7c
Compiler

Compiled 88 to 67 computations (23.9% saved)

bsearch355.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
1.858955287069624e-13
3.602587979800786e-13
31.0ms
7.988255152288084e-64
1.8584129972047963e-63
32.0ms
9.071441797738179e-153
1.3739647637373466e-151
29.0ms
-2.4599239581111038e-164
-1.0923153286640717e-171
30.0ms
-3.565656893866856e-110
-4.308845484735725e-114
182.0ms
-1.4429671700944535e-28
-5.44936909709032e-29
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes780.0ms (4.6%)

Counts
6 → 5
Calls
Call 1
Inputs
c
c
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
(*.f64 z (*.f64 1/16 t))
(*.f64 a (*.f64 b -1/4))
Outputs
c
(*.f64 a (*.f64 b -1/4))
(*.f64 y x)
(*.f64 a (*.f64 b -1/4))
c
Calls

7 calls:

229.0ms
t
222.0ms
y
125.0ms
b
76.0ms
x
66.0ms
z
Results
ErrorSegmentsBranch
36.6b7x
30.9b11y
32.4b9z
33.5b10t
35.8b7a
32.8b9b
30.3b5c
Compiler

Compiled 83 to 66 computations (20.5% saved)

bsearch248.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
74.0ms
1.858955287069624e-13
3.602587979800786e-13
60.0ms
1.3611566773576137e-85
1.7407817868659472e-83
57.0ms
9.071441797738179e-153
1.3739647637373466e-151
56.0ms
-319338325737142.8
-5866577189389.398
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes219.0ms (1.3%)

Counts
3 → 3
Calls
Call 1
Inputs
c
c
(*.f64 y x)
Outputs
c
(*.f64 y x)
c
Calls

7 calls:

36.0ms
z
35.0ms
x
35.0ms
a
30.0ms
b
28.0ms
t
Results
ErrorSegmentsBranch
38.0b5x
35.4b5y
37.7b4z
39.8b3t
39.8b5a
38.8b4b
34.3b3c
Compiler

Compiled 68 to 57 computations (16.2% saved)

bsearch58.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
8.026464602532605e+35
6.378344954856724e+37
29.0ms
-1030405013769350.9
-319338325737142.8
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes30.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
c
c
Outputs
c
Calls

7 calls:

7.0ms
t
4.0ms
x
3.0ms
a
3.0ms
z
3.0ms
c
Results
ErrorSegmentsBranch
42.2b1x
42.2b1y
42.2b1z
42.2b1t
42.2b1a
42.2b1b
42.2b1c
Compiler

Compiled 65 to 56 computations (13.8% saved)

simplify101.0ms (0.6%)

Algorithm
egg-herbie
Rules
17×+-commutative_binary64
14×*-commutative_binary64
10×sub-neg_binary64
cancel-sign-sub-inv_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01611085
11941085
22141085
32261085
42341085
52391085
62411085
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(if (<=.f64 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))))
(if (<=.f64 c -10485742653137264640/340282366920938463463374607431768211456) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))))))
(if (<=.f64 c -10485742653137264640/340282366920938463463374607431768211456) (+.f64 (*.f64 y x) c) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))))
(if (<=.f64 z -100000000000000005928380124081487003706362488767045328864850074482999577828473980652023296508018124569151792237293382948229697163514582401024) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))
(if (<=.f64 c -8243240110154807/8) (+.f64 (*.f64 y x) c) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))
(if (<=.f64 z -4299999999999999975635091865048580630147043857038711866785753135459901458590140015674163173266254687618163726762989374246540804478414586403884410628235262814788657604273949331360170605805568) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -6399999999999999575255470718237583495105260436342155685051264249319671913609178896595104797012803490113137732795544498627705964315353581643374788608) (+.f64 (*.f64 y x) c) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))))
(if (<=.f64 z -74000000000000005329154287896123828462849068100255319692889139376883597147994084501062510197531142212396829168421840152700087222656680036705589158438115078591270572463319592083329820222772812772497304916133129350179239272876364366599949636108291601303794481385966793838821376) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -111999999999999998844652419634287680187890419524674334463398631092353853464446522752325159492740742654662959477989507953715641119876526037740545267866292111307751862389696237361504863877374600065528885309280878592) (+.f64 (*.f64 y x) c) (if (<=.f64 z -1160000000000000009718468360247162654391668432556179553337263447185517759885512540310737977750521808854434335210648746389172183157876716117068162574036473589467359864274736293069068292858726380994560) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -58999999999999997320842807245041141030812407848483453900744867530557141230157390521033661784585124740940466946347151954414625344979092118394373555557209546967993071568534329251332096) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -74000000000000001579783811437926283932326658607362609368577670625964177748373237426549534886858174507258179412307366606012416) (+.f64 (*.f64 y x) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (*.f64 z (*.f64 1/16 t)))))))))))
(if (<=.f64 c -6435848638024241/44601490397061246283071436545296723011960832) (+.f64 (*.f64 y x) c) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 (*.f64 y x) c) (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 5919851222042833/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (+.f64 (*.f64 y x) c) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) (+.f64 (*.f64 y x) c)))))))
(if (<=.f64 c -5109413211794285/16) c (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 4763505486549883/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 y x) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) c))))
(if (<=.f64 c -8243240110154807/8) c (if (<=.f64 c 802646460253260500391854315401117696) (*.f64 y x) c))
c
Outputs
(fma.f64 a (*.f64 b -1/4) (fma.f64 y x (fma.f64 1/16 (*.f64 t z) c)))
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) 16)) (/.f64 (*.f64 a b) 4)) c)
(+.f64 c (-.f64 (+.f64 (/.f64 (*.f64 t z) 16) (*.f64 y x)) (/.f64 (*.f64 a b) 4)))
(if (<=.f64 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -200000000) (+.f64 (+.f64 c (*.f64 1/16 (*.f64 t z))) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x))) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -200000000) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) c) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -200000000) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 (*.f64 a b) 7378697629483821/36893488147419103232) (+.f64 c (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x))) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b)))))
(if (<=.f64 c -10485742653137264640/340282366920938463463374607431768211456) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (-.f64 (+.f64 c (*.f64 y x)) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))))))
(if (<=.f64 c -1279997882463045/41538374868278621028243970633760768) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 3567830324194899/9903520314283042199192993792) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 (+.f64 c (*.f64 y x)) (*.f64 -1/4 (*.f64 a b))) (+.f64 c (*.f64 1/16 (*.f64 t z))))))))))))
(if (<=.f64 c -10485742653137264640/340282366920938463463374607431768211456) (+.f64 (*.f64 y x) c) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 28542642593559192/79228162514264337593543950336) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 1/4 (*.f64 a b))) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))))
(if (<=.f64 c -1279997882463045/41538374868278621028243970633760768) (+.f64 c (*.f64 y x)) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (if (<=.f64 c 3567830324194899/9903520314283042199192993792) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x)) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z)))))))))))
(if (<=.f64 c -1279997882463045/41538374868278621028243970633760768) (+.f64 c (*.f64 y x)) (if (<=.f64 c 5281813482675501/23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152430442793326983968886135484527574528048424954488695685876133154086235991294800548739224807307629474678136450095282906365419648413375507379824836506306113175552) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 5369702857601195/921377545122446619199598286374089084696513969828232526459034741270904336521520715841339532514076847544303802497745079321233052888165232576308943909041185557531590656) (-.f64 (*.f64 y x) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 6480441983613819/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 3567830324194899/9903520314283042199192993792) (-.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 (*.f64 a b) 1/4)) (if (<=.f64 c 2934315493569885/281474976710656) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x)) (if (<=.f64 c 25037512526590506891102884311884710330523384106895664327119899211722604441035819935909598836670831564949638782910464) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z)))))))))))
(if (<=.f64 z -100000000000000005928380124081487003706362488767045328864850074482999577828473980652023296508018124569151792237293382948229697163514582401024) (+.f64 (*.f64 y x) (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))))))
(if (<=.f64 z -100000000000000005928380124081487003706362488767045328864850074482999577828473980652023296508018124569151792237293382948229697163514582401024) (+.f64 (*.f64 1/16 (*.f64 t z)) (*.f64 y x)) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -7153516383955747/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 c (*.f64 y x)) (if (<=.f64 z 7041277297331253/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z)))))))))
(if (<=.f64 c -8243240110154807/8) (+.f64 (*.f64 y x) c) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 1/4 (*.f64 a b))) (+.f64 (*.f64 1/16 (*.f64 t z)) c)))
(if (<=.f64 c -8243240110154807/8) (+.f64 c (*.f64 y x)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (+.f64 (*.f64 y x) (*.f64 -1/4 (*.f64 a b))) (+.f64 c (*.f64 1/16 (*.f64 t z)))))
(if (<=.f64 c -8243240110154807/8) (+.f64 c (*.f64 y x)) (if (<=.f64 c 1962630442744023/100433627766186892221372630771322662657637687111424552206336) (-.f64 (*.f64 y x) (*.f64 (*.f64 a b) 1/4)) (+.f64 c (*.f64 1/16 (*.f64 t z)))))
(if (<=.f64 z -4299999999999999975635091865048580630147043857038711866785753135459901458590140015674163173266254687618163726762989374246540804478414586403884410628235262814788657604273949331360170605805568) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -6399999999999999575255470718237583495105260436342155685051264249319671913609178896595104797012803490113137732795544498627705964315353581643374788608) (+.f64 (*.f64 y x) c) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 (*.f64 1/16 (*.f64 t z)) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (+.f64 (*.f64 1/16 (*.f64 t z)) c))))))))
(if (<=.f64 z -4299999999999999975635091865048580630147043857038711866785753135459901458590140015674163173266254687618163726762989374246540804478414586403884410628235262814788657604273949331360170605805568) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -6399999999999999575255470718237583495105260436342155685051264249319671913609178896595104797012803490113137732795544498627705964315353581643374788608) (+.f64 c (*.f64 y x)) (if (<=.f64 z -56312686612824744422852399596568576) (+.f64 c (*.f64 1/16 (*.f64 t z))) (if (<=.f64 z -7153516383955747/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 c (*.f64 y x)) (if (<=.f64 z 7041277297331253/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 c (*.f64 y x)) (+.f64 c (*.f64 1/16 (*.f64 t z))))))))))
(if (<=.f64 z -74000000000000005329154287896123828462849068100255319692889139376883597147994084501062510197531142212396829168421840152700087222656680036705589158438115078591270572463319592083329820222772812772497304916133129350179239272876364366599949636108291601303794481385966793838821376) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -111999999999999998844652419634287680187890419524674334463398631092353853464446522752325159492740742654662959477989507953715641119876526037740545267866292111307751862389696237361504863877374600065528885309280878592) (+.f64 (*.f64 y x) c) (if (<=.f64 z -1160000000000000009718468360247162654391668432556179553337263447185517759885512540310737977750521808854434335210648746389172183157876716117068162574036473589467359864274736293069068292858726380994560) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -58999999999999997320842807245041141030812407848483453900744867530557141230157390521033661784585124740940466946347151954414625344979092118394373555557209546967993071568534329251332096) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -74000000000000001579783811437926283932326658607362609368577670625964177748373237426549534886858174507258179412307366606012416) (+.f64 (*.f64 y x) c) (if (<=.f64 z -457825048573167808/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 (*.f64 y x) c) (if (<=.f64 z 901283494058400384/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (+.f64 (*.f64 a (*.f64 b -1/4)) c) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 (*.f64 y x) c) (*.f64 z (*.f64 1/16 t)))))))))))
(if (<=.f64 z -74000000000000005329154287896123828462849068100255319692889139376883597147994084501062510197531142212396829168421840152700087222656680036705589158438115078591270572463319592083329820222772812772497304916133129350179239272876364366599949636108291601303794481385966793838821376) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -111999999999999998844652419634287680187890419524674334463398631092353853464446522752325159492740742654662959477989507953715641119876526037740545267866292111307751862389696237361504863877374600065528885309280878592) (+.f64 c (*.f64 y x)) (if (<=.f64 z -1160000000000000009718468360247162654391668432556179553337263447185517759885512540310737977750521808854434335210648746389172183157876716117068162574036473589467359864274736293069068292858726380994560) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 z -58999999999999997320842807245041141030812407848483453900744867530557141230157390521033661784585124740940466946347151954414625344979092118394373555557209546967993071568534329251332096) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z -74000000000000001579783811437926283932326658607362609368577670625964177748373237426549534886858174507258179412307366606012416) (+.f64 c (*.f64 y x)) (if (<=.f64 z -7153516383955747/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z -8430057141619477/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (+.f64 c (*.f64 y x)) (if (<=.f64 z 7041277297331253/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 c (*.f64 a (*.f64 b -1/4))) (if (<=.f64 z 8473878181138711/5192296858534827628530496329220096) (+.f64 c (*.f64 y x)) (*.f64 z (*.f64 1/16 t)))))))))))
(if (<=.f64 c -6435848638024241/44601490397061246283071436545296723011960832) (+.f64 (*.f64 y x) c) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 (*.f64 y x) c) (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 5919851222042833/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (+.f64 (*.f64 y x) c) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) (+.f64 (*.f64 y x) c)))))))
(if (<=.f64 c -6435848638024241/44601490397061246283071436545296723011960832) (+.f64 c (*.f64 y x)) (if (<=.f64 c -6034172857212885/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 z (*.f64 1/16 t)) (if (<=.f64 c -6379682976528363/259344723055062059907025491480697571938277889515152306249728583105665800713306759149981690559193987143012367913206299323899696942213235956742929677132122730441323862712594345230336) (+.f64 c (*.f64 y x)) (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 5919851222042833/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (+.f64 c (*.f64 y x)) (if (<=.f64 c 3682040289767577/19807040628566084398385987584) (*.f64 a (*.f64 b -1/4)) (+.f64 c (*.f64 y x))))))))
(if (<=.f64 c -5109413211794285/16) c (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 4763505486549883/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 y x) (if (<=.f64 c 14728161159070308/79228162514264337593543950336) (*.f64 a (*.f64 b -1/4)) c))))
(if (<=.f64 c -5109413211794285/16) c (if (<=.f64 c 8558820120904865/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 a (*.f64 b -1/4)) (if (<=.f64 c 4763505486549883/34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861184) (*.f64 y x) (if (<=.f64 c 3682040289767577/19807040628566084398385987584) (*.f64 a (*.f64 b -1/4)) c))))
(if (<=.f64 c -8243240110154807/8) c (if (<=.f64 c 802646460253260500391854315401117696) (*.f64 y x) c))
c
Compiler

Compiled 846 to 482 computations (43% saved)

soundness273.0ms (1.6%)

Algorithm
egg-herbie
Rules
1185×fma-neg_binary64
706×fma-def_binary64
344×cancel-sign-sub-inv_binary64
115×distribute-rgt-neg-in_binary64
113×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0303091
1713083
21682945
34422945
47182945
511512945
621262945
729582945
833482945
934542945
1034542945
1137512945
1237512945
Stop Event
saturated
Compiler

Compiled 302 to 211 computations (30.1% saved)

end548.0ms (3.3%)

Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 881 to 443 computations (49.7% saved)

Profiling

Loading profile data...