Details

Time bar (total: 36.1s)

analyze1.7s (4.6%)

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

Compiled 28 to 20 computations (28.6% saved)

sample4.1s (11.5%)

Results
2.7s8254×body256valid
1.4s4539×body256infinite
1.0msbody1024valid
1.0msbody512valid
Bogosity

preprocess87.0ms (0.2%)

Algorithm
egg-herbie
Rules
853×sub-neg_binary64
619×fma-neg_binary64
567×fma-def_binary64
428×associate-+l+_binary64
390×associate--r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0111496
1369432
21332400
37029400
066
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
4
5
Outputs
0
1
2
3
4
5
Call 2
Inputs
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (-.f64 (-.f64 y (*.f64 (-.f64 x 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 x t) 2) b))
(+.f64 (-.f64 (-.f64 z (*.f64 (-.f64 y 1) x)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (-.f64 (-.f64 t (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 x 1) a)) (*.f64 (-.f64 (+.f64 y x) 2) b))
(+.f64 (-.f64 (-.f64 a (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) x)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (-.f64 (-.f64 b (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) x))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 z 1) y)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 z t) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 (+.f64 t y) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 a 1) z)) (*.f64 (-.f64 t 1) y)) (*.f64 (-.f64 (+.f64 a t) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 b 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 b t) 2) y))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) t)) (*.f64 (-.f64 z 1) a)) (*.f64 (-.f64 (+.f64 y z) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) b)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) z))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 a 1) t)) (*.f64 (-.f64 (+.f64 y a) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 b 1) a)) (*.f64 (-.f64 (+.f64 y b) 2) t))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) b)) (*.f64 (-.f64 (+.f64 y t) 2) a))
Outputs
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 y (-.f64 t 2)) b))
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 y (*.f64 (-.f64 x 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 x t) 2) b))
(+.f64 (-.f64 y (+.f64 (*.f64 z (+.f64 x -1)) (*.f64 (+.f64 t -1) a))) (*.f64 b (+.f64 x (-.f64 t 2))))
(fma.f64 b (+.f64 x (+.f64 t -2)) (-.f64 y (fma.f64 z (+.f64 x -1) (*.f64 (+.f64 t -1) a))))
(fma.f64 b (+.f64 x (+.f64 t -2)) (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 x) y)))
(+.f64 (-.f64 (-.f64 z (*.f64 (-.f64 y 1) x)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) (-.f64 z (+.f64 (*.f64 x (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 z (fma.f64 x (+.f64 y -1) (*.f64 (+.f64 t -1) a))))
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 a (-.f64 1 t) (fma.f64 x (-.f64 1 y) z)))
(+.f64 (-.f64 (-.f64 t (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 x 1) a)) (*.f64 (-.f64 (+.f64 y x) 2) b))
(+.f64 (-.f64 (-.f64 t (*.f64 (+.f64 y -1) z)) (*.f64 a (+.f64 x -1))) (*.f64 b (+.f64 y (-.f64 x 2))))
(fma.f64 b (+.f64 x (+.f64 y -2)) (-.f64 t (fma.f64 (+.f64 y -1) z (*.f64 a (+.f64 x -1)))))
(fma.f64 b (+.f64 x (-.f64 y 2)) (fma.f64 a (-.f64 1 x) (fma.f64 z (-.f64 1 y) t)))
(+.f64 (-.f64 (-.f64 a (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) x)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) (-.f64 a (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 x (+.f64 t -1)))))
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 a (fma.f64 (+.f64 y -1) z (*.f64 x (+.f64 t -1)))))
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 x (-.f64 1 t) (fma.f64 z (-.f64 1 y) a)))
(+.f64 (-.f64 (-.f64 b (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) x))
(+.f64 (-.f64 b (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (*.f64 x (+.f64 y (-.f64 t 2))))
(fma.f64 x (-.f64 (+.f64 y t) 2) (-.f64 b (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))
(fma.f64 x (+.f64 t (-.f64 y 2)) (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) b)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 z 1) y)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 z t) 2) b))
(+.f64 (-.f64 x (+.f64 (*.f64 y (+.f64 z -1)) (*.f64 (+.f64 t -1) a))) (*.f64 b (+.f64 z (-.f64 t 2))))
(fma.f64 b (+.f64 t (+.f64 z -2)) (-.f64 x (fma.f64 y (+.f64 z -1) (*.f64 (+.f64 t -1) a))))
(fma.f64 b (+.f64 z (+.f64 t -2)) (fma.f64 a (-.f64 1 t) (fma.f64 y (-.f64 1 z) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 (+.f64 t y) 2) b))
(+.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) (-.f64 (-.f64 x (*.f64 z (+.f64 t -1))) (*.f64 (+.f64 y -1) a)))
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 x (fma.f64 (+.f64 y -1) a (*.f64 z (+.f64 t -1)))))
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 z (-.f64 1 t) (fma.f64 a (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 a 1) z)) (*.f64 (-.f64 t 1) y)) (*.f64 (-.f64 (+.f64 a t) 2) b))
(+.f64 (-.f64 x (+.f64 (*.f64 z (+.f64 a -1)) (*.f64 y (+.f64 t -1)))) (*.f64 b (+.f64 a (-.f64 t 2))))
(fma.f64 b (+.f64 t (+.f64 a -2)) (-.f64 x (fma.f64 z (+.f64 a -1) (*.f64 y (+.f64 t -1)))))
(fma.f64 b (+.f64 t (+.f64 a -2)) (fma.f64 y (-.f64 1 t) (fma.f64 z (-.f64 1 a) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 b 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 b t) 2) y))
(+.f64 (-.f64 x (+.f64 (*.f64 z (+.f64 b -1)) (*.f64 (+.f64 t -1) a))) (*.f64 y (+.f64 b (-.f64 t 2))))
(fma.f64 y (+.f64 t (-.f64 b 2)) (-.f64 x (fma.f64 z (+.f64 b -1) (*.f64 (+.f64 t -1) a))))
(fma.f64 y (+.f64 t (-.f64 b 2)) (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 b) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) t)) (*.f64 (-.f64 z 1) a)) (*.f64 (-.f64 (+.f64 y z) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 (+.f64 y -1) t)) (*.f64 a (+.f64 z -1))) (*.f64 b (+.f64 y (-.f64 z 2))))
(fma.f64 b (+.f64 y (+.f64 z -2)) (-.f64 x (fma.f64 (+.f64 y -1) t (*.f64 a (+.f64 z -1)))))
(fma.f64 b (+.f64 y (+.f64 z -2)) (fma.f64 a (-.f64 1 z) (fma.f64 t (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) a)) (*.f64 (-.f64 t 1) z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) (-.f64 (-.f64 x (*.f64 z (+.f64 t -1))) (*.f64 (+.f64 y -1) a)))
(fma.f64 (-.f64 (+.f64 y t) 2) b (-.f64 x (fma.f64 (+.f64 y -1) a (*.f64 z (+.f64 t -1)))))
(fma.f64 (+.f64 t (-.f64 y 2)) b (fma.f64 z (-.f64 1 t) (fma.f64 a (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) b)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) z))
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) b) (*.f64 (+.f64 t -1) a))) (*.f64 z (+.f64 y (-.f64 t 2))))
(fma.f64 z (-.f64 (+.f64 y t) 2) (-.f64 x (fma.f64 (+.f64 y -1) b (*.f64 (+.f64 t -1) a))))
(fma.f64 z (+.f64 t (-.f64 y 2)) (fma.f64 a (-.f64 1 t) (fma.f64 b (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 a 1) t)) (*.f64 (-.f64 (+.f64 y a) 2) b))
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 t (+.f64 a -1)))) (*.f64 b (+.f64 y (-.f64 a 2))))
(fma.f64 b (+.f64 y (+.f64 a -2)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 t (+.f64 a -1)))))
(fma.f64 b (+.f64 a (-.f64 y 2)) (fma.f64 t (-.f64 1 a) (fma.f64 z (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 b 1) a)) (*.f64 (-.f64 (+.f64 y b) 2) t))
(+.f64 (-.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 a (+.f64 b -1))) (*.f64 t (+.f64 y (-.f64 b 2))))
(fma.f64 t (+.f64 y (-.f64 b 2)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 a (+.f64 b -1)))))
(fma.f64 t (+.f64 y (-.f64 b 2)) (fma.f64 a (-.f64 1 b) (fma.f64 z (-.f64 1 y) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) b)) (*.f64 (-.f64 (+.f64 y t) 2) a))
(+.f64 (-.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) b))) (*.f64 a (+.f64 y (-.f64 t 2))))
(fma.f64 a (-.f64 (+.f64 y t) 2) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) b))))
(fma.f64 a (+.f64 t (-.f64 y 2)) (fma.f64 b (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)))
Compiler

Compiled 33 to 25 computations (24.2% saved)

simplify95.0ms (0.3%)

Algorithm
egg-herbie
Rules
494×fma-neg_binary64
471×distribute-neg-in_binary64
457×associate--l-_binary64
369×associate--r-_binary64
344×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01931
14927
214525
361625
4223125
5556325
6704025
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Outputs
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (-.f64 t 2)) b)))
(fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (-.f64 y 1) z (*.f64 (+.f64 t -1) a))))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 (+.f64 y t) -2) b (fma.f64 z (-.f64 1 y) x)))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))

eval2.0ms (0%)

Compiler

Compiled 45 to 29 computations (35.6% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 51 to 35 computations (31.4% saved)

localize67.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a))
0.0b
(*.f64 (-.f64 t 1) a)
0.0b
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0b
(*.f64 (-.f64 (+.f64 y t) 2) b)
Compiler

Compiled 86 to 48 computations (44.2% saved)

series134.0ms (0.4%)

Counts
4 → 168
Calls

48 calls:

TimeVariablePointExpression
97.0ms
t
@0
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
3.0ms
a
@-inf
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
2.0ms
y
@0
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
1.0ms
x
@0
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
1.0ms
a
@inf
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))

rewrite111.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
414×expm1-udef_binary64
414×log1p-udef_binary64
246×add-sqr-sqrt_binary64
240×*-un-lft-identity_binary64
240×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01967
145461
2697461
Stop Event
node limit
Counts
4 → 134
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 y t) 2) b)
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(*.f64 (-.f64 t 1) a)
(-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y b) (*.f64 (+.f64 t -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y t) b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 b (+.f64 t -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (+.f64 y t)) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 y t) 3) -8) b) (+.f64 (pow.f64 (+.f64 y t) 2) (+.f64 4 (*.f64 (+.f64 y t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 y t) 2) -4) b) (+.f64 t (+.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 (+.f64 y t) 3) -8)) (+.f64 (pow.f64 (+.f64 y t) 2) (+.f64 4 (*.f64 (+.f64 y t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 (+.f64 y t) 2) -4)) (+.f64 t (+.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 y (+.f64 t -2))) b))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (-.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) x) (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (*.f64 (+.f64 y -1) z))) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2)) (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (/.f64 1 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (/.f64 1 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))) (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b))) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))) (neg.f64 (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))) (neg.f64 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (+.f64 (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))) (*.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b)))) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (+.f64 t -2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y (+.f64 t -2)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 y -1) z)) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2)) (cbrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (sqrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t a) (*.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a t) (*.f64 a -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 t 3) -1) a) (fma.f64 t t (+.f64 t 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 t t -1) a) (+.f64 t 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 (pow.f64 t 3) -1)) (fma.f64 t t (+.f64 t 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (fma.f64 t t -1)) (+.f64 t 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 t -1) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 t -1) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 t -1) a)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (*.f64 (+.f64 y -1) (neg.f64 z)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 (*.f64 (+.f64 y -1) (neg.f64 z)) (*.f64 (+.f64 t -1) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) 1 (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 a) (+.f64 t -1) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (+.f64 (neg.f64 t) 1) a (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a))) (cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (+.f64 t -1) a))) (sqrt.f64 (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) (-.f64 x (*.f64 (+.f64 y -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3)) (/.f64 1 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (/.f64 1 (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))))) (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) a) 3))) (neg.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) a) (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2))) (neg.f64 (-.f64 x (-.f64 (*.f64 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) 3)) (+.f64 (*.f64 x x) (+.f64 (*.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) (*.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 3) (pow.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (-.f64 (*.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) (*.f64 (+.f64 t -1) (neg.f64 a))) (*.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) (+.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (*.f64 (*.f64 (+.f64 t -1) (neg.f64 a)) (*.f64 (+.f64 t -1) (neg.f64 a)))) (-.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 y -1) z)) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2)) (cbrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (*.f64 (+.f64 t -1) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 y -1) z))) (*.f64 (+.f64 t -1) (neg.f64 a)))))))

simplify149.0ms (0.4%)

Algorithm
egg-herbie
Rules
821×sub-neg_binary64
539×+-commutative_binary64
535×fma-def_binary64
427×distribute-neg-in_binary64
361×associate--r-_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01042826
13682820
29882602
335772602
457042602
577402602
Stop Event
node limit
Counts
302 → 210
Calls
Call 1
Inputs
(*.f64 b (-.f64 t 2))
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2)))
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2)))
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2)))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 (-.f64 y 2) b)
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 t b)
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 t b)
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
x
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
x
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(*.f64 (-.f64 b z) y)
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(*.f64 z (-.f64 1 y))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(*.f64 t (-.f64 b a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(*.f64 a (-.f64 1 t))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(*.f64 -1 (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(*.f64 -1 a)
(+.f64 (*.f64 a t) (*.f64 -1 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 -1 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 -1 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(*.f64 z (-.f64 1 y))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(*.f64 -1 (*.f64 a t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(*.f64 -1 (*.f64 a t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(*.f64 a (-.f64 1 t))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(*.f64 -1 (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
Outputs
(*.f64 b (-.f64 t 2))
(*.f64 b (+.f64 t -2))
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2)))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2)))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 y b) (*.f64 b (-.f64 t 2)))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 y b) (*.f64 (-.f64 t 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 (-.f64 y 2) b)
(*.f64 b (+.f64 y -2))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 t b)
(*.f64 b t)
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 t b)
(*.f64 b t)
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(+.f64 (*.f64 t b) (*.f64 (-.f64 y 2) b))
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (*.f64 b (+.f64 (+.f64 t y) -2)) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (*.f64 b (+.f64 t (+.f64 y -2))) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
x
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
x
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 -1 z (*.f64 (+.f64 t -1) a)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (+.f64 z (*.f64 a (-.f64 1 t))))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(+.f64 z (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) x)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 (-.f64 b z) y)
(*.f64 y (-.f64 b z))
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 b (-.f64 t 2)) (+.f64 (*.f64 (-.f64 b z) y) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z))))
(*.f64 y (-.f64 b z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 b) (*.f64 -1 z)))) (+.f64 (*.f64 b (-.f64 t 2)) x)) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 b (+.f64 t (+.f64 y -2)) x))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 a (-.f64 1 t) x))
(+.f64 a (fma.f64 b (+.f64 y -2) (fma.f64 t (-.f64 b a) x)))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 y z))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 y -2) b x) (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(-.f64 (fma.f64 b (+.f64 y -2) x) (-.f64 (*.f64 z (+.f64 y -1)) a))
(+.f64 (fma.f64 b (+.f64 y -2) x) (fma.f64 z (-.f64 1 y) a))
(fma.f64 b (+.f64 y -2) (fma.f64 z (-.f64 1 y) (+.f64 a x)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 t (-.f64 b a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t))
(*.f64 t (-.f64 b a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (*.f64 z (+.f64 y -1)))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (*.f64 z (+.f64 y -1)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)))
(fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) (+.f64 z x)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 -1 (*.f64 (-.f64 t 1) a))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)) (*.f64 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (fma.f64 b (+.f64 t (+.f64 y -2)) x) (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 (fma.f64 y (-.f64 b z) x) (fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) z)))
(*.f64 -1 a)
(neg.f64 a)
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(+.f64 (*.f64 a t) (*.f64 -1 a))
(fma.f64 a t (neg.f64 a))
(-.f64 (*.f64 t a) a)
(fma.f64 t a (neg.f64 a))
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(neg.f64 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(-.f64 (*.f64 a (-.f64 1 t)) (*.f64 z (+.f64 y -1)))
(fma.f64 a (-.f64 1 t) (-.f64 z (*.f64 y z)))
(-.f64 (fma.f64 z (-.f64 1 y) a) (*.f64 t a))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 -1 z (*.f64 (+.f64 t -1) a)))
(+.f64 x (+.f64 z (*.f64 a (-.f64 1 t))))
(+.f64 z (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) x)
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 y z))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(+.f64 (fma.f64 (neg.f64 z) (+.f64 y -1) x) a)
(+.f64 a (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (+.f64 a x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 t a))
(*.f64 a (neg.f64 t))
(*.f64 t (neg.f64 a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 t a))
(*.f64 a (neg.f64 t))
(*.f64 t (neg.f64 a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 x (*.f64 z (-.f64 y 1)))
(-.f64 x (*.f64 z (+.f64 y -1)))
(fma.f64 (neg.f64 z) (+.f64 y -1) x)
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 (-.f64 t 1) a))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))

localize26.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (-.f64 1 t) x)
Compiler

Compiled 63 to 36 computations (42.9% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(fma.f64 a (-.f64 1 t) x)
1.0ms
a
@0
(fma.f64 a (-.f64 1 t) x)
0.0ms
a
@inf
(fma.f64 a (-.f64 1 t) x)
0.0ms
t
@inf
(fma.f64 a (-.f64 1 t) x)
0.0ms
t
@0
(fma.f64 a (-.f64 1 t) x)

rewrite59.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
719×pow1_binary64
664×add-log-exp_binary64
664×log1p-expm1-u_binary64
664×expm1-log1p-u_binary64
650×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11428
217378
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 a (-.f64 1 t) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 a (-.f64 1 t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (-.f64 1 t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (-.f64 1 t)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a (-.f64 1 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (-.f64 1 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (-.f64 1 t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) (pow.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) 2) (cbrt.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (-.f64 1 t) x)) (sqrt.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (-.f64 1 t)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (*.f64 a (-.f64 1 t)) (*.f64 a (-.f64 1 t))) (-.f64 (*.f64 x x) (*.f64 (*.f64 a (-.f64 1 t)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a (-.f64 1 t)) (*.f64 a (-.f64 1 t))) (*.f64 x x)) (-.f64 (*.f64 a (-.f64 1 t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (-.f64 1 t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (-.f64 1 t) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (-.f64 1 t) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (-.f64 1 t) x)))))))

simplify63.0ms (0.2%)

Algorithm
egg-herbie
Rules
213×fma-def_binary64
210×fma-neg_binary64
52×cancel-sign-sub-inv_binary64
38×associate--r+_binary64
36×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014256
132256
258256
3105256
4182256
5327256
6601256
7790256
8929256
9953256
Stop Event
saturated
Counts
57 → 30
Calls
Call 1
Inputs
x
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(*.f64 a (-.f64 1 t))
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(*.f64 a (-.f64 1 t))
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 a x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(*.f64 -1 (*.f64 a t))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(*.f64 -1 (*.f64 a t))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(*.f64 a (-.f64 1 t))
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
x
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
x
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
Outputs
x
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(*.f64 a (-.f64 1 t))
(fma.f64 a (neg.f64 t) a)
(-.f64 a (*.f64 a t))
(fma.f64 t (neg.f64 a) a)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(*.f64 a (-.f64 1 t))
(fma.f64 a (neg.f64 t) a)
(-.f64 a (*.f64 a t))
(fma.f64 t (neg.f64 a) a)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 a x)
(+.f64 x a)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 a t))
(*.f64 a (neg.f64 t))
(*.f64 t (neg.f64 a))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 a t))
(*.f64 a (neg.f64 t))
(*.f64 t (neg.f64 a))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) x))
(fma.f64 a (-.f64 1 t) x)
(*.f64 a (-.f64 1 t))
(fma.f64 a (neg.f64 t) a)
(-.f64 a (*.f64 a t))
(fma.f64 t (neg.f64 a) a)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
x
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
x
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)

eval162.0ms (0.4%)

Compiler

Compiled 6103 to 3709 computations (39.2% saved)

prune136.0ms (0.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New22812240
Fresh000
Picked101
Done101
Total23012242
Error
0b
Counts
242 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
16.5b
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
38.6b
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
18.6b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
49.8b
(*.f64 t (-.f64 b a))
52.2b
(*.f64 (-.f64 b z) y)
47.2b
(*.f64 (-.f64 (+.f64 y t) 2) b)
50.0b
x
46.9b
(-.f64 z (*.f64 y z))
45.1b
(*.f64 a (-.f64 1 t))
15.9b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
18.6b
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
Compiler

Compiled 353 to 258 computations (26.9% saved)

localize61.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 t 1) a)
0.0b
(*.f64 (-.f64 (+.f64 y t) 2) b)
Compiler

Compiled 60 to 31 computations (48.3% saved)

localize16.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (-.f64 1 t))
Compiler

Compiled 17 to 12 computations (29.4% saved)

series4.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@inf
(*.f64 a (-.f64 1 t))
1.0ms
a
@0
(*.f64 a (-.f64 1 t))
1.0ms
a
@-inf
(*.f64 a (-.f64 1 t))
1.0ms
t
@inf
(*.f64 a (-.f64 1 t))
0.0ms
t
@-inf
(*.f64 a (-.f64 1 t))

rewrite61.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
617×pow1_binary64
572×add-log-exp_binary64
572×log1p-expm1-u_binary64
572×expm1-log1p-u_binary64
561×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify34.0ms (0.1%)

Algorithm
egg-herbie
Rules
133×fma-def_binary64
90×fma-neg_binary64
22×cancel-sign-sub-inv_binary64
21×associate-*r*_binary64
17×associate-*l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0794
11376
23076
34676
46476
512876
625376
735976
845776
953376
Stop Event
saturated
Counts
29 → 22
Calls
Call 1
Inputs
a
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(*.f64 -1 (*.f64 a t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(*.f64 -1 (*.f64 a t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (*.f64 -1 (*.f64 a t)))
Outputs
a
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 a t))
(*.f64 a (neg.f64 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 a t))
(*.f64 a (neg.f64 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))
(+.f64 a (*.f64 -1 (*.f64 a t)))
(+.f64 a (neg.f64 (*.f64 a t)))
(-.f64 a (*.f64 a t))
(fma.f64 a (neg.f64 t) a)
(*.f64 a (-.f64 1 t))

localize15.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 b z) y)
Compiler

Compiled 17 to 8 computations (52.9% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
(*.f64 (-.f64 b z) y)
1.0ms
b
@0
(*.f64 (-.f64 b z) y)
0.0ms
y
@inf
(*.f64 (-.f64 b z) y)
0.0ms
y
@-inf
(*.f64 (-.f64 b z) y)
0.0ms
y
@0
(*.f64 (-.f64 b z) y)

rewrite51.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
725×pow1_binary64
672×add-log-exp_binary64
672×log1p-expm1-u_binary64
672×expm1-log1p-u_binary64
657×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11297
217847
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 (-.f64 b z) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y b) (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (-.f64 b z) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 b 3) (pow.f64 z 3)) y) (fma.f64 b b (*.f64 z (+.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 z z)) y) (+.f64 b z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (pow.f64 b 3) (pow.f64 z 3))) (fma.f64 b b (*.f64 z (+.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 b b) (*.f64 z z))) (+.f64 b z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 b z) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 b z) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 b z) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 b z) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 b z) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (-.f64 b z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 b z) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 b z) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 b z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 b z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 b z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 b z) y)))))))

simplify28.0ms (0.1%)

Algorithm
egg-herbie
Rules
217×fma-def_binary64
132×fma-neg_binary64
41×cancel-sign-sub-inv_binary64
25×distribute-rgt-in_binary64
25×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
09210
117210
235156
358156
486156
5138156
6254156
7410156
8576156
9730156
10744156
Stop Event
saturated
Counts
43 → 24
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
Outputs
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(fma.f64 y b (neg.f64 (*.f64 y z)))
(-.f64 (*.f64 y b) (*.f64 y z))
(*.f64 y (-.f64 b z))

localize10.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 (+.f64 y t) 2) b)
Compiler

Compiled 25 to 13 computations (48% saved)

localize17.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 (+.f64 y t) 2) b)
0.0b
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Compiler

Compiled 44 to 19 computations (56.8% saved)

series5.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@0
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
1.0ms
y
@inf
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
1.0ms
t
@0
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0ms
z
@0
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0ms
z
@inf
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))

rewrite80.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
630×log-prod_binary64
575×fma-def_binary64
349×pow2_binary64
308×fma-neg_binary64
240×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01216
127814
2406914
Stop Event
node limit
Counts
1 → 75
Calls
Call 1
Inputs
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))) (/.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) (pow.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 2) (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) (sqrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (/.f64 1 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2)) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2)) (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))) (neg.f64 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2) (pow.f64 (*.f64 y z) 2)) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (*.f64 y z) 2)) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b)) (-.f64 (pow.f64 (*.f64 y z) 2) (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2))) (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))) (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y z))) (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) z) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y z))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))) (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 y (+.f64 t -2))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) 1 (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y (+.f64 t -2)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 1 (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 2) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) 2) (cbrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y z)) (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y (+.f64 t -2))) 2) (*.f64 (cbrt.f64 (+.f64 y (+.f64 t -2))) b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 y (+.f64 t -2))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (sqrt.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y (+.f64 t -2))) (*.f64 (sqrt.f64 (+.f64 y (+.f64 t -2))) b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y (+.f64 t -2))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) z (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) (sqrt.f64 b)) (sqrt.f64 b) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 y (+.f64 t -2))) 2)) (cbrt.f64 (+.f64 y (+.f64 t -2))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 y (+.f64 t -2)))) (sqrt.f64 (+.f64 y (+.f64 t -2))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -1) z (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 y (+.f64 t -2)) b))))))

simplify162.0ms (0.4%)

Algorithm
egg-herbie
Rules
1086×fma-neg_binary64
473×fma-def_binary64
200×cancel-sign-sub-inv_binary64
198×distribute-rgt-in_binary64
155×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
031633
176594
2184594
3419592
4925592
51812592
63282592
73601592
83601592
94057592
104057592
Stop Event
saturated
Counts
123 → 93
Calls
Call 1
Inputs
(*.f64 (-.f64 t 2) b)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b))
(*.f64 (+.f64 (*.f64 -1 z) b) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2)))
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b))))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2)))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2)))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Outputs
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 (-.f64 t 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 (+.f64 (*.f64 -1 z) b) y)
(*.f64 (fma.f64 -1 z b) y)
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (*.f64 b (-.f64 t 2)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b))))
(*.f64 (fma.f64 -1 z b) y)
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (*.f64 b (-.f64 t 2)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 b (+.f64 (+.f64 t -2) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b))
(fma.f64 -1 (*.f64 z y) (*.f64 b (+.f64 y -2)))
(-.f64 (*.f64 b (+.f64 y -2)) (*.f64 z y))
(fma.f64 (-.f64 b z) y (*.f64 b -2))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 t b) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 y 2) b)))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 b (+.f64 (+.f64 t -2) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 (+.f64 t y) -2))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 b (+.f64 (+.f64 t -2) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (fma.f64 -1 z b) y (*.f64 (+.f64 t -2) b))
(fma.f64 (+.f64 t -2) b (*.f64 (-.f64 b z) y))
(fma.f64 (-.f64 b z) y (*.f64 (+.f64 t -2) b))

eval139.0ms (0.4%)

Compiler

Compiled 3716 to 2019 computations (45.7% saved)

prune161.0ms (0.4%)

Pruning

19 alts after pruning (16 fresh and 3 done)

PrunedKeptTotal
New25310263
Fresh167
Picked101
Done134
Total25619275
Error
0b
Counts
275 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
16.5b
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
25.0b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
57.0b
(*.f64 (neg.f64 z) y)
27.4b
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
45.1b
(*.f64 a (-.f64 1 t))
58.0b
(*.f64 y b)
18.6b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
51.2b
(*.f64 (-.f64 y 2) b)
49.8b
(*.f64 t (-.f64 b a))
58.5b
(*.f64 t b)
52.2b
(*.f64 (-.f64 b z) y)
54.1b
(*.f64 a (neg.f64 t))
18.6b
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
27.4b
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
47.2b
(*.f64 (-.f64 (+.f64 y t) 2) b)
50.0b
x
53.8b
a
46.9b
(-.f64 z (*.f64 y z))
52.8b
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
Compiler

Compiled 441 to 327 computations (25.9% saved)

localize44.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 y 1))
0.0b
(+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))
0.0b
(*.f64 (-.f64 t 1) a)
Compiler

Compiled 52 to 32 computations (38.5% saved)

series11.0ms (0%)

Counts
2 → 42
Calls

18 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 z (-.f64 y 1))
1.0ms
t
@0
(+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))
1.0ms
z
@inf
(*.f64 z (-.f64 y 1))
1.0ms
z
@-inf
(*.f64 z (-.f64 y 1))
1.0ms
t
@inf
(+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))

rewrite101.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
572×log-prod_binary64
441×fma-def_binary64
434×pow-prod-down_binary64
311×pow2_binary64
271×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
124221
2338321
Stop Event
node limit
Counts
2 → 93
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))
(*.f64 z (-.f64 y 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))) (/.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (/.f64 1 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1))) (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (*.f64 (*.f64 (*.f64 (+.f64 t -1) a) z) (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))) (neg.f64 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2))) (neg.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (+.f64 y -1)) (-.f64 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a)) (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1))) (-.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2) (pow.f64 (*.f64 z (+.f64 y -1)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a))) (pow.f64 (exp.f64 z) (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 t -1) a)) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a))) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1)))) (exp.f64 (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1)))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 t -1) a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (+.f64 t -1) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 t -1) a) 1 (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (+.f64 y -1)) 1 (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (+.f64 y -1) 2)) (*.f64 (cbrt.f64 (+.f64 y -1)) z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 t -1) a) 2)) (cbrt.f64 (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2) (cbrt.f64 (*.f64 z (+.f64 y -1))) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 t -1)) 2) (*.f64 (cbrt.f64 (+.f64 t -1)) a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y -1)) (*.f64 (sqrt.f64 (+.f64 y -1)) z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 t -1) a)) (sqrt.f64 (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (+.f64 y -1))) (sqrt.f64 (*.f64 z (+.f64 y -1))) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 t -1)) (*.f64 (sqrt.f64 (+.f64 t -1)) a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 t -1) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 t -1) (sqrt.f64 a)) (sqrt.f64 a) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 (+.f64 t -1)) 2)) (cbrt.f64 (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 (+.f64 t -1))) (sqrt.f64 (+.f64 t -1)) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (cbrt.f64 (pow.f64 (+.f64 y -1) 2))) (cbrt.f64 (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (+.f64 y -1))) (sqrt.f64 (+.f64 y -1)) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -1) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (+.f64 t -1) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -1) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (+.f64 t -1) a))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (+.f64 y -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) z) (+.f64 (fma.f64 y y 1) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -1) z) (+.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 y 3) -1)) (+.f64 (fma.f64 y y 1) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 y y -1)) (+.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 y -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 y -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (+.f64 y -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 -1 z))))))

simplify122.0ms (0.3%)

Algorithm
egg-herbie
Rules
986×fma-neg_binary64
272×cancel-sign-sub-inv_binary64
182×fma-def_binary64
137×sub-neg_binary64
121×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025405
164404
2123404
3259404
4528404
5894404
61799404
72574404
82745404
92784404
102800404
112800404
Stop Event
saturated
Counts
135 → 112
Calls
Call 1
Inputs
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(*.f64 a t)
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(*.f64 a t)
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(*.f64 z (-.f64 y 1))
(*.f64 (-.f64 t 1) a)
(*.f64 (-.f64 t 1) a)
(*.f64 (-.f64 t 1) a)
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(*.f64 y z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(*.f64 y z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(*.f64 -1 z)
(+.f64 (*.f64 y z) (*.f64 -1 z))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 y z)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 y z)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
Outputs
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(fma.f64 z (+.f64 y -1) (neg.f64 a))
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z (-.f64 y 1)) a)
(-.f64 (fma.f64 z y (neg.f64 z)) a)
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(*.f64 a t)
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(*.f64 a t)
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 z (-.f64 y 1)) (+.f64 (*.f64 a t) (*.f64 -1 a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(fma.f64 z y (neg.f64 z))
(*.f64 (-.f64 t 1) a)
(*.f64 a (+.f64 t -1))
(-.f64 (*.f64 a t) a)
(fma.f64 a t (neg.f64 a))
(*.f64 (-.f64 t 1) a)
(*.f64 a (+.f64 t -1))
(-.f64 (*.f64 a t) a)
(fma.f64 a t (neg.f64 a))
(*.f64 (-.f64 t 1) a)
(*.f64 a (+.f64 t -1))
(-.f64 (*.f64 a t) a)
(fma.f64 a t (neg.f64 a))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(fma.f64 z y (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 z (*.f64 a (+.f64 t -1)))
(-.f64 (-.f64 (*.f64 a t) a) z)
(-.f64 (*.f64 a t) (+.f64 a z))
(fma.f64 a t (-.f64 (neg.f64 a) z))
(-.f64 (fma.f64 a t (neg.f64 a)) z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 y z) (*.f64 (-.f64 t 1) a)))
(fma.f64 a t (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(fma.f64 z (+.f64 y -1) (-.f64 (*.f64 a t) a))
(-.f64 (fma.f64 z (-.f64 y 1) (*.f64 a t)) a)
(-.f64 (fma.f64 a t (-.f64 (*.f64 z y) a)) z)
(-.f64 (*.f64 a t) (fma.f64 z (-.f64 1 y) a))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(-.f64 (*.f64 z y) z)
(*.f64 z (-.f64 y 1))
(fma.f64 z y (neg.f64 z))

localize11.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize36.0ms (0.1%)

Compiler

Compiled 14 to 8 computations (42.9% saved)

localize14.0ms (0%)

Compiler

Compiled 16 to 8 computations (50% saved)

localize30.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y b) x)
0.0b
(*.f64 (-.f64 t 1) a)
Compiler

Compiled 39 to 18 computations (53.8% saved)

series6.0ms (0%)

Counts
1 → 9
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(+.f64 (*.f64 y b) x)
1.0ms
y
@0
(+.f64 (*.f64 y b) x)
1.0ms
y
@-inf
(+.f64 (*.f64 y b) x)
1.0ms
x
@0
(+.f64 (*.f64 y b) x)
1.0ms
b
@-inf
(+.f64 (*.f64 y b) x)

rewrite110.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
707×pow1_binary64
655×add-log-exp_binary64
655×log1p-expm1-u_binary64
655×expm1-log1p-u_binary64
640×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065
11295
217755
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(+.f64 (*.f64 y b) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y b x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y b) 2) (-.f64 (*.f64 y b) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y b x)) (pow.f64 (cbrt.f64 (fma.f64 y b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y b x)) 2) (cbrt.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y b x)) (sqrt.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b)))) (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y b) x) (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 y (*.f64 b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x)) (-.f64 (*.f64 y b) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y b) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x (-.f64 x (*.f64 y b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y b) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y b) 2)) (-.f64 x (*.f64 y b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y b x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 y b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y b)) 2) (cbrt.f64 (*.f64 y b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y b)) (sqrt.f64 (*.f64 y b)) x)))))

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0524
1624
Stop Event
saturated
Counts
44 → 37
Calls
Call 1
Inputs
x
(*.f64 y b)
(*.f64 y b)
x
(*.f64 y b)
(*.f64 y b)
(*.f64 y b)
x
x
Outputs
x
(*.f64 y b)
(*.f64 y b)
x
(*.f64 y b)
(*.f64 y b)
(*.f64 y b)
x
x

eval59.0ms (0.2%)

Compiler

Compiled 3421 to 2028 computations (40.7% saved)

prune52.0ms (0.1%)

Pruning

22 alts after pruning (16 fresh and 6 done)

PrunedKeptTotal
New1945199
Fresh01111
Picked101
Done167
Total19622218
Error
0b
Counts
218 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
57.0b
(*.f64 (neg.f64 z) y)
32.0b
(-.f64 x (*.f64 (-.f64 t 1) a))
27.4b
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
45.1b
(*.f64 a (-.f64 1 t))
58.0b
(*.f64 y b)
25.1b
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
18.6b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
51.2b
(*.f64 (-.f64 y 2) b)
49.8b
(*.f64 t (-.f64 b a))
58.5b
(*.f64 t b)
41.5b
(-.f64 x (*.f64 a t))
52.2b
(*.f64 (-.f64 b z) y)
54.1b
(*.f64 a (neg.f64 t))
47.2b
(*.f64 (-.f64 (+.f64 y t) 2) b)
50.0b
x
53.8b
a
25.0b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
46.9b
(-.f64 z (*.f64 y z))
36.0b
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
34.4b
(-.f64 x (*.f64 z (-.f64 y 1)))
52.8b
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
18.6b
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
Compiler

Compiled 473 to 352 computations (25.6% saved)

localize21.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
0.0b
(fma.f64 z (-.f64 1 y) x)
Compiler

Compiled 43 to 25 computations (41.9% saved)

series12.0ms (0%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
3.0ms
z
@-inf
(fma.f64 z (-.f64 1 y) x)
1.0ms
z
@0
(fma.f64 z (-.f64 1 y) x)
0.0ms
b
@-inf
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
0.0ms
y
@0
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
0.0ms
y
@inf
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))

rewrite78.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
888×prod-diff_binary64
620×log-prod_binary64
400×fma-def_binary64
261×expm1-udef_binary64
260×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01326
128326
2377626
Stop Event
node limit
Counts
2 → 59
Calls
Call 1
Inputs
(fma.f64 z (-.f64 1 y) x)
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 1 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (-.f64 1 y)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x))) (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 1 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) x)) (sqrt.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) (pow.f64 x 3)) (fma.f64 (*.f64 z (-.f64 1 y)) (*.f64 z (-.f64 1 y)) (-.f64 (*.f64 x x) (*.f64 (*.f64 z (-.f64 1 y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 z (-.f64 1 y)) (*.f64 z (-.f64 1 y)) (neg.f64 (*.f64 x x))) (-.f64 (*.f64 z (-.f64 1 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 1 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (exp.f64 (*.f64 z (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 z (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z (-.f64 1 y))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) x)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 y) x) (*.f64 (+.f64 y (+.f64 t -2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 1) (fma.f64 z (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (-.f64 1 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))) (cbrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 2) (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) 3) (pow.f64 (fma.f64 z (-.f64 1 y) x) 3)) (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 (+.f64 y (+.f64 t -2)) b) (-.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 2) (*.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (*.f64 (+.f64 y (+.f64 t -2)) b) (neg.f64 (pow.f64 (fma.f64 z (-.f64 1 y) x) 2))) (-.f64 (*.f64 (+.f64 y (+.f64 t -2)) b) (fma.f64 z (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (-.f64 1 y) x)) (exp.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) x))) (exp.f64 (*.f64 (+.f64 y (+.f64 t -2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 y (+.f64 t -2)) b)) (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))) 1))))))

simplify119.0ms (0.3%)

Algorithm
egg-herbie
Rules
860×fma-def_binary64
622×unsub-neg_binary64
585×sub-neg_binary64
529×fma-neg_binary64
396×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0441233
11291186
23181184
38381184
427371184
550211184
675071184
779421184
Stop Event
node limit
Counts
155 → 90
Calls
Call 1
Inputs
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 z x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(*.f64 (+.f64 (*.f64 -1 z) b) y)
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x)))
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b))))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
x
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
x
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
Outputs
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 z x)
(+.f64 x z)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x))
(fma.f64 z (-.f64 1 y) x)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(+.f64 z (fma.f64 b (-.f64 t 2) x))
(+.f64 x (fma.f64 b (+.f64 t -2) z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 (+.f64 (*.f64 -1 z) b) y)
(*.f64 y (fma.f64 -1 z b))
(*.f64 y (-.f64 b z))
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 z (+.f64 (*.f64 (+.f64 (*.f64 -1 z) b) y) (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b))))
(*.f64 y (fma.f64 -1 z b))
(*.f64 y (-.f64 b z))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 -1 (*.f64 y (+.f64 z (*.f64 -1 b)))) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 z (-.f64 1 y) (fma.f64 (+.f64 y -2) b x))
(fma.f64 z (-.f64 1 y) (fma.f64 b (+.f64 y -2) x))
(+.f64 (fma.f64 y (-.f64 b z) z) (fma.f64 b -2 x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 t b)
(*.f64 b t)
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 t b)
(*.f64 b t)
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 t b) (+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 y 2) b) x)))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 y (-.f64 t 2)))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 b (+.f64 y (+.f64 t -2)))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 y (-.f64 t 2)))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 b (+.f64 y (+.f64 t -2)))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
(fma.f64 (+.f64 y (-.f64 t 2)) b x)
(fma.f64 b (+.f64 y (-.f64 t 2)) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(fma.f64 b (+.f64 y (+.f64 t -2)) x)
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 z (-.f64 1 y)))
(fma.f64 (+.f64 y (-.f64 t 2)) b (*.f64 z (-.f64 1 y)))
(fma.f64 z (-.f64 1 y) (*.f64 b (+.f64 y (-.f64 t 2))))
(fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
x
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
x
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))
(+.f64 (*.f64 z (-.f64 1 y)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(fma.f64 (fma.f64 -1 z b) y (+.f64 z (fma.f64 b (-.f64 t 2) x)))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (-.f64 t 2) x)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 y (-.f64 b z) z))

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 y 2) b)
Compiler

Compiled 17 to 12 computations (29.4% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 (-.f64 y 2) b)
1.0ms
y
@-inf
(*.f64 (-.f64 y 2) b)
0.0ms
b
@0
(*.f64 (-.f64 y 2) b)
0.0ms
b
@inf
(*.f64 (-.f64 y 2) b)
0.0ms
b
@-inf
(*.f64 (-.f64 y 2) b)

rewrite46.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
675×pow1_binary64
630×add-log-exp_binary64
629×log1p-expm1-u_binary64
629×expm1-log1p-u_binary64
619×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11327
216507
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 (-.f64 y 2) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (+.f64 y -2) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) -8) b) (fma.f64 y y (+.f64 4 (*.f64 y 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -4) b) (+.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 y 3) -8)) (fma.f64 y y (+.f64 4 (*.f64 y 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (fma.f64 y y -4)) (+.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y -2) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y -2) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 y -2) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 b 3) (pow.f64 (+.f64 y -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y -2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y -2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y -2) b)))))))

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
distribute-rgt-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0775
11375
21975
Stop Event
saturated
Counts
31 → 23
Calls
Call 1
Inputs
(*.f64 -2 b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(+.f64 (*.f64 y b) (*.f64 -2 b))
Outputs
(*.f64 -2 b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))

localize10.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 t 1) a)
Compiler

Compiled 25 to 16 computations (36% saved)

localize17.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 y 1))
0.0b
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))
Compiler

Compiled 39 to 22 computations (43.6% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
a
@0
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))
0.0ms
y
@0
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))
0.0ms
a
@inf
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))
0.0ms
y
@-inf
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))
0.0ms
z
@0
(+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1)))

rewrite64.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
953×pow1_binary64
885×add-log-exp_binary64
884×log1p-expm1-u_binary64
884×expm1-log1p-u_binary64
101×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify75.0ms (0.2%)

Algorithm
egg-herbie
Rules
243×fma-neg_binary64
238×fma-def_binary64
78×cancel-sign-sub-inv_binary64
54×sub-neg_binary64
41×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017314
141314
268314
3113314
4213314
5330314
6650314
71020314
81079314
91092314
Stop Event
saturated
Counts
76 → 52
Calls
Call 1
Inputs
(*.f64 z (-.f64 y 1))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(*.f64 -1 a)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(*.f64 -1 a)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(*.f64 -1 a)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(*.f64 z (-.f64 y 1))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(*.f64 z (-.f64 y 1))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 -1 z) a)
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a)
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a)
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a)
(*.f64 y z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(*.f64 y z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
Outputs
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 z y) z)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 -1 a)
(neg.f64 a)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 -1 a)
(neg.f64 a)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 -1 a)
(neg.f64 a)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 z y) z)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 z y) z)
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (*.f64 -1 z) a)
(-.f64 (neg.f64 z) a)
(neg.f64 (+.f64 z a))
(-.f64 (neg.f64 a) z)
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (+.f64 (*.f64 y z) (*.f64 -1 z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 y z)
(*.f64 z y)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(*.f64 y z)
(*.f64 z y)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 y z)) a)
(-.f64 (*.f64 z (+.f64 -1 y)) a)
(-.f64 (-.f64 (*.f64 z y) z) a)
(-.f64 (*.f64 z y) (+.f64 z a))

eval331.0ms (0.9%)

Compiler

Compiled 3061 to 1839 computations (39.9% saved)

prune194.0ms (0.5%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New2108218
Fresh3811
Picked101
Done2810
Total21624240
Error
0b
Counts
240 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(-.f64 x (*.f64 t a))
25.0b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
57.0b
(*.f64 (neg.f64 z) y)
27.4b
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
45.1b
(*.f64 a (-.f64 1 t))
58.0b
(*.f64 y b)
52.8b
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
34.4b
(-.f64 x (-.f64 (*.f64 z y) z))
49.8b
(*.f64 t (-.f64 b a))
58.5b
(*.f64 t b)
52.2b
(*.f64 (-.f64 b z) y)
54.1b
(*.f64 a (neg.f64 t))
55.8b
(*.f64 -2 b)
29.2b
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
40.7b
(-.f64 x (neg.f64 a))
41.5b
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (neg.f64 y)))
47.2b
(*.f64 (-.f64 (+.f64 y t) 2) b)
50.0b
x
53.8b
a
46.9b
(-.f64 z (*.f64 y z))
31.0b
(-.f64 x (-.f64 (neg.f64 a) z))
36.0b
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
51.2b
(*.f64 (-.f64 y 2) b)
25.1b
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
Compiler

Compiled 285 to 215 computations (24.6% saved)

regimes406.0ms (1.1%)

Counts
37 → 1
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (neg.f64 y)))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
Outputs
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
Calls

7 calls:

93.0ms
x
80.0ms
a
69.0ms
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
54.0ms
z
35.0ms
y
Results
ErrorSegmentsBranch
0b1x
0b1y
0b1z
0b1t
0b1a
0b1b
0b1(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Compiler

Compiled 375 to 205 computations (45.3% saved)

regimes262.0ms (0.7%)

Counts
36 → 1
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 z (neg.f64 y)))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) x))
Outputs
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Calls

7 calls:

62.0ms
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
58.0ms
b
37.0ms
a
23.0ms
z
22.0ms
t
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Compiler

Compiled 357 to 195 computations (45.4% saved)

regimes727.0ms (2%)

Counts
33 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
Outputs
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
Calls

6 calls:

173.0ms
t
146.0ms
x
114.0ms
a
104.0ms
b
90.0ms
y
Results
ErrorSegmentsBranch
9.7b7x
10.3b5y
5.3b3z
6.9b7t
4.6b5a
4.5b5b
Compiler

Compiled 285 to 151 computations (47% saved)

bsearch219.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
66.0ms
1.1264080799462302e+135
4.4763439514441485e+155
33.0ms
1.545697060885485e-25
4.30510637317661e-25
33.0ms
9.343694871062982e-99
1.3102731854410503e-96
86.0ms
-2.7640760695843058e-45
-9.970345116254656e-46
Compiler

Compiled 80 to 59 computations (26.3% saved)

regimes1.5s (4.1%)

Counts
32 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
Outputs
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
Calls

6 calls:

374.0ms
t
241.0ms
b
230.0ms
z
222.0ms
y
192.0ms
x
Results
ErrorSegmentsBranch
10.2b9x
10.4b6y
8.4b5z
6.9b10t
5.3b5a
6.0b5b
Compiler

Compiled 270 to 143 computations (47% saved)

bsearch294.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
109.0ms
8.769709989442563e+139
1.2043850819282623e+141
121.0ms
8.198797283533816e+103
2.7041970316794664e+105
31.0ms
1.0963018935707672e-63
2.7423846303244063e-50
32.0ms
-1.7689553345826852e+71
-9.774405492706228e+61
Compiler

Compiled 543 to 404 computations (25.6% saved)

regimes550.0ms (1.5%)

Counts
31 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
Outputs
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
Calls

6 calls:

109.0ms
x
106.0ms
y
102.0ms
t
98.0ms
a
81.0ms
b
Results
ErrorSegmentsBranch
12.7b7x
10.7b8y
9.4b3z
11.3b6t
10.7b7a
7.1b5b
Compiler

Compiled 255 to 135 computations (47.1% saved)

bsearch161.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
4.4763439514441485e+155
3.680104837854175e+158
31.0ms
3.792676665638031e+45
6.27180312678745e+50
40.0ms
10108.087501823318
1135220207786460700.0
29.0ms
-2.7640760695843058e-45
-9.970345116254656e-46
Compiler

Compiled 316 to 235 computations (25.6% saved)

regimes963.0ms (2.7%)

Counts
30 → 6
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
Outputs
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
Calls

6 calls:

286.0ms
x
242.0ms
y
128.0ms
a
126.0ms
t
89.0ms
b
Results
ErrorSegmentsBranch
14.1b13x
15.4b11y
13.0b4z
12.9b6t
15.0b6a
15.2b3b
Compiler

Compiled 242 to 127 computations (47.5% saved)

bsearch308.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
103.0ms
9.808528475433741e+128
5.792970204843395e+130
53.0ms
1.0935382680264517e-104
2.6604918875159326e-104
50.0ms
1.5013318416864768e-273
8.978810645251403e-273
52.0ms
-1.7833082974561152e-268
-1.086151574666714e-275
50.0ms
-1.36922473738972e+28
-528407892902.6605
Compiler

Compiled 274 to 202 computations (26.3% saved)

regimes2.0s (5.4%)

Counts
27 → 10
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
Outputs
(*.f64 -2 b)
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
Calls

6 calls:

576.0ms
z
434.0ms
y
413.0ms
x
239.0ms
b
161.0ms
t
Results
ErrorSegmentsBranch
17.7b8x
16.4b9y
14.0b6z
14.5b5t
16.2b4a
13.2b10b
Compiler

Compiled 206 to 113 computations (45.1% saved)

bsearch1.5s (4.1%)

Algorithm
binary-search
Steps
TimeLeftRight
212.0ms
6.479949926087661e+111
9.130407798418577e+123
177.0ms
7.953342530625983e+107
1.9027089625875e+109
132.0ms
4.164434884335978e+101
6.727516903312039e+106
284.0ms
6.27180312678745e+50
5.755152451681224e+51
60.0ms
4.4713982082351455e-7
57.67571031381888
66.0ms
-7.996736896677263e-158
-7.105375234755856e-159
54.0ms
-1.3770496042313516e+23
-238270294475805.75
388.0ms
-1.348405072739092e+87
-1.1402635093014792e+76
115.0ms
-3.7806798341957194e+258
-9.271870647754896e+226
Compiler

Compiled 1534 to 1144 computations (25.4% saved)

regimes974.0ms (2.7%)

Counts
26 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
Outputs
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))
Calls

6 calls:

207.0ms
x
201.0ms
a
193.0ms
y
134.0ms
t
128.0ms
z
Results
ErrorSegmentsBranch
18.5b9x
17.1b9y
15.3b6z
14.5b5t
16.9b4a
16.0b6b
Compiler

Compiled 195 to 109 computations (44.1% saved)

bsearch370.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
208.0ms
9.808528475433741e+128
5.792970204843395e+130
53.0ms
1.1358656511994088e-272
4.9852143853421065e-263
54.0ms
-1.094737742957119e-238
-8.295056017925053e-243
55.0ms
-1.36922473738972e+28
-528407892902.6605
Compiler

Compiled 274 to 202 computations (26.3% saved)

regimes800.0ms (2.2%)

Counts
25 → 9
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (+.f64 (neg.f64 a) (*.f64 z (-.f64 y 1))))
Outputs
(*.f64 -2 b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 x (*.f64 (-.f64 t 1) a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
Calls

6 calls:

279.0ms
b
161.0ms
x
114.0ms
y
102.0ms
a
69.0ms
z
Results
ErrorSegmentsBranch
19.8b9x
19.1b9y
17.6b6z
16.4b5t
16.8b5a
14.7b9b
Compiler

Compiled 184 to 104 computations (43.5% saved)

bsearch599.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
125.0ms
6.799206453707975e+58
8.721886084642752e+59
51.0ms
4.615857294395282e+30
1.8204591834662585e+36
50.0ms
10108.087501823318
1135220207786460700.0
85.0ms
-2.223803935549301e-157
-7.996736896677263e-158
51.0ms
-2.4883411941156667e-76
-3.0048393927658006e-78
51.0ms
-238270294475805.75
-7955699993614.494
120.0ms
-7.311529477970765e+96
-2.874880999643506e+88
66.0ms
-3.7806798341957194e+258
-9.271870647754896e+226
Compiler

Compiled 770 to 592 computations (23.1% saved)

regimes943.0ms (2.6%)

Counts
23 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
Outputs
(-.f64 x (*.f64 (-.f64 t 1) a))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 z (*.f64 y z))
(+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))
(-.f64 x (*.f64 (-.f64 t 1) a))
Calls

6 calls:

305.0ms
z
255.0ms
x
183.0ms
y
81.0ms
b
60.0ms
t
Results
ErrorSegmentsBranch
21.3b10x
18.4b11y
19.8b7z
18.0b6t
17.4b5a
17.8b8b
Compiler

Compiled 165 to 94 computations (43% saved)

bsearch327.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
162.0ms
8.769709989442563e+139
1.2043850819282623e+141
56.0ms
8.921950101163558e+36
2.1697852041057955e+38
54.0ms
1.0963018935707672e-63
2.7423846303244063e-50
54.0ms
-1.7689553345826852e+71
-9.774405492706228e+61
Compiler

Compiled 216 to 165 computations (23.6% saved)

regimes562.0ms (1.6%)

Counts
22 → 11
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b))
Outputs
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 x (-.f64 (neg.f64 a) z))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(*.f64 (-.f64 (+.f64 y t) 2) b)
Calls

6 calls:

160.0ms
b
99.0ms
z
90.0ms
x
85.0ms
y
73.0ms
a
Results
ErrorSegmentsBranch
24.9b8x
22.2b8y
20.0b9z
20.8b4t
20.1b7a
17.9b11b
Compiler

Compiled 156 to 89 computations (42.9% saved)

bsearch440.0ms (1.2%)

Algorithm
10×binary-search
Steps
TimeLeftRight
153.0ms
7.12192127334732e+62
2.5147409721018106e+72
29.0ms
1.545697060885485e-25
4.30510637317661e-25
29.0ms
5.119743500842987e-262
3.781316291058683e-259
29.0ms
-2.490543879657481e-278
-5.438640429744022e-280
30.0ms
-2.223803935549301e-157
-7.996736896677263e-158
29.0ms
-2.4883411941156667e-76
-3.0048393927658006e-78
30.0ms
-2.7640760695843058e-45
-9.970345116254656e-46
29.0ms
-238270294475805.75
-7955699993614.494
30.0ms
-1.7437564707793253e+42
-1.5953486971606876e+38
51.0ms
-3.9665700965915045e+167
-2.3004209354257e+166
Compiler

Compiled 477 to 372 computations (22% saved)

regimes1.3s (3.5%)

Counts
20 → 9
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
Outputs
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 x (-.f64 (neg.f64 a) z))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(*.f64 (-.f64 (+.f64 y t) 2) b)
Calls

6 calls:

789.0ms
b
133.0ms
a
109.0ms
z
84.0ms
x
74.0ms
t
Results
ErrorSegmentsBranch
24.9b8x
24.1b6y
20.0b9z
20.8b4t
20.1b7a
19.2b9b
Compiler

Compiled 140 to 85 computations (39.3% saved)

bsearch413.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
158.0ms
7.12192127334732e+62
2.5147409721018106e+72
35.0ms
1.545697060885485e-25
4.30510637317661e-25
35.0ms
5.119743500842987e-262
3.781316291058683e-259
34.0ms
-2.490543879657481e-278
-5.438640429744022e-280
29.0ms
-2.223803935549301e-157
-7.996736896677263e-158
34.0ms
-1.5070348261666303e+31
-2.0363998701979344e+30
35.0ms
-1.7437564707793253e+42
-1.5953486971606876e+38
54.0ms
-3.9665700965915045e+167
-2.3004209354257e+166
Compiler

Compiled 477 to 372 computations (22% saved)

regimes442.0ms (1.2%)

Counts
19 → 4
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 z (-.f64 y 1)))
Outputs
(*.f64 t (-.f64 b a))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 x (-.f64 (*.f64 z y) z))
(*.f64 t (-.f64 b a))
Calls

6 calls:

144.0ms
x
83.0ms
b
79.0ms
y
68.0ms
z
34.0ms
t
Results
ErrorSegmentsBranch
25.6b8x
24.1b6y
22.2b7z
20.8b4t
22.5b3a
20.9b10b
Compiler

Compiled 133 to 81 computations (39.1% saved)

bsearch213.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
93.0ms
1.863374536376173e+212
4.5677958474185876e+228
60.0ms
1.2203878813626119e-5
5.616584632100459e-5
59.0ms
-528407892902.6605
-2093910185.8524642
Compiler

Compiled 296 to 217 computations (26.7% saved)

regimes1.1s (3%)

Counts
16 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
(-.f64 x (-.f64 (neg.f64 a) z))
Outputs
(*.f64 t (-.f64 b a))
(-.f64 x (-.f64 (neg.f64 a) z))
(-.f64 z (*.f64 y z))
(-.f64 x (-.f64 (neg.f64 a) z))
(*.f64 t (-.f64 b a))
Calls

6 calls:

391.0ms
z
230.0ms
y
143.0ms
t
137.0ms
x
98.0ms
b
Results
ErrorSegmentsBranch
27.7b7x
24.6b7y
25.7b9z
21.3b5t
26.2b6a
24.5b7b
Compiler

Compiled 112 to 70 computations (37.5% saved)

bsearch362.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
124.0ms
1.863374536376173e+212
4.5677958474185876e+228
138.0ms
2.076874871766668e+100
4.7377923017062304e+100
51.0ms
3820833205.9777083
2158243478230.8765
48.0ms
-528407892902.6605
-2093910185.8524642
Compiler

Compiled 411 to 312 computations (24.1% saved)

regimes934.0ms (2.6%)

Counts
15 → 7
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 z (*.f64 y z))
(*.f64 a (-.f64 1 t))
Outputs
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 x (neg.f64 a))
(-.f64 z (*.f64 y z))
(-.f64 x (neg.f64 a))
(-.f64 z (*.f64 y z))
(*.f64 t (-.f64 b a))
Calls

6 calls:

206.0ms
b
173.0ms
y
161.0ms
x
155.0ms
a
121.0ms
z
Results
ErrorSegmentsBranch
29.6b10x
29.2b9y
27.6b8z
26.7b7t
27.4b10a
27.9b13b
Compiler

Compiled 106 to 68 computations (35.8% saved)

bsearch310.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
133.0ms
5.792970204843395e+130
1.1161312070759376e+148
52.0ms
1.2203878813626119e-5
5.616584632100459e-5
30.0ms
5.913069836290875e-283
4.479817783971875e-277
34.0ms
-7.975557453407681e-306
-5.281471761514972e-306
31.0ms
-9.435137475197939e-22
-4.814759385712623e-24
30.0ms
-1.36922473738972e+28
-528407892902.6605
Compiler

Compiled 276 to 207 computations (25% saved)

regimes711.0ms (2%)

Counts
13 → 4
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
Outputs
(*.f64 t (-.f64 b a))
(*.f64 (-.f64 b z) y)
(-.f64 x (neg.f64 a))
(*.f64 t (-.f64 b a))
Calls

6 calls:

267.0ms
x
151.0ms
b
119.0ms
z
86.0ms
t
47.0ms
y
Results
ErrorSegmentsBranch
34.6b6x
33.4b6y
35.0b8z
30.3b4t
35.5b5a
31.1b9b
Compiler

Compiled 96 to 63 computations (34.4% saved)

bsearch120.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
500875773360867700.0
11670032118385056000.0
31.0ms
-9.435137475197939e-22
-4.814759385712623e-24
29.0ms
-1.36922473738972e+28
-528407892902.6605
Compiler

Compiled 36 to 27 computations (25% saved)

regimes630.0ms (1.7%)

Counts
12 → 3
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
(*.f64 t (-.f64 b a))
Outputs
(*.f64 t (-.f64 b a))
(-.f64 x (neg.f64 a))
(*.f64 t (-.f64 b a))
Calls

6 calls:

180.0ms
z
166.0ms
x
96.0ms
b
73.0ms
y
67.0ms
a
Results
ErrorSegmentsBranch
33.5b8x
35.6b6y
35.3b8z
31.3b3t
36.7b3a
32.2b7b
Compiler

Compiled 91 to 61 computations (33% saved)

bsearch161.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
100.0ms
500875773360867700.0
11670032118385056000.0
60.0ms
-9.435137475197939e-22
-4.814759385712623e-24
Compiler

Compiled 36 to 27 computations (25% saved)

regimes551.0ms (1.5%)

Counts
11 → 7
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
(*.f64 (-.f64 y 2) b)
Outputs
(*.f64 (-.f64 y 2) b)
(-.f64 x (neg.f64 a))
(-.f64 x (*.f64 t a))
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(-.f64 x (*.f64 t a))
(*.f64 (-.f64 y 2) b)
Calls

6 calls:

187.0ms
b
112.0ms
a
96.0ms
x
94.0ms
z
30.0ms
t
Results
ErrorSegmentsBranch
35.3b7x
37.0b4y
35.3b9z
32.4b3t
36.7b3a
32.2b7b
Compiler

Compiled 86 to 59 computations (31.4% saved)

bsearch633.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
296.0ms
7.12192127334732e+62
2.5147409721018106e+72
115.0ms
4.4281852361523377e-187
6.25888562155353e-182
44.0ms
8.297458056809556e-224
1.8579555821055898e-221
52.0ms
1.85089774569972e-297
9.687813478049033e-293
71.0ms
-2.4883411941156667e-76
-3.0048393927658006e-78
54.0ms
-3.9665700965915045e+167
-2.3004209354257e+166
Compiler

Compiled 413 to 331 computations (19.9% saved)

regimes441.0ms (1.2%)

Counts
10 → 3
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
(-.f64 x (*.f64 t a))
(-.f64 x (*.f64 a t))
Outputs
(-.f64 x (*.f64 t a))
(-.f64 x (neg.f64 a))
(-.f64 x (*.f64 t a))
Calls

6 calls:

102.0ms
z
94.0ms
b
91.0ms
x
74.0ms
y
37.0ms
a
Results
ErrorSegmentsBranch
36.1b8x
37.0b4y
37.2b6z
32.4b3t
36.7b3a
33.0b7b
Compiler

Compiled 81 to 56 computations (30.9% saved)

bsearch139.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
5.616584632100459e-5
0.006488642191195358
84.0ms
-1.36922473738972e+28
-528407892902.6605
Compiler

Compiled 36 to 27 computations (25% saved)

regimes306.0ms (0.8%)

Counts
8 → 5
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(*.f64 a (neg.f64 t))
Outputs
(*.f64 a (neg.f64 t))
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
(-.f64 x (neg.f64 a))
(*.f64 a (neg.f64 t))
Calls

6 calls:

61.0ms
x
61.0ms
a
59.0ms
z
47.0ms
t
47.0ms
b
Results
ErrorSegmentsBranch
37.1b7x
38.0b5y
38.3b5z
33.8b5t
37.5b5a
36.4b3b
Compiler

Compiled 71 to 52 computations (26.8% saved)

bsearch325.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
97.0ms
1.863374536376173e+212
4.5677958474185876e+228
130.0ms
2.076874871766668e+100
4.7377923017062304e+100
70.0ms
2158243478230.8765
69613124901964.664
28.0ms
-1.36922473738972e+28
-528407892902.6605
Compiler

Compiled 366 to 297 computations (18.9% saved)

regimes503.0ms (1.4%)

Counts
7 → 3
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
(-.f64 x (neg.f64 a))
(*.f64 (neg.f64 z) y)
Outputs
(*.f64 -2 b)
(-.f64 x (neg.f64 a))
(*.f64 -2 b)
Calls

6 calls:

172.0ms
z
155.0ms
b
67.0ms
x
42.0ms
a
32.0ms
t
Results
ErrorSegmentsBranch
37.1b7x
39.1b3y
38.3b5z
39.0b3t
39.0b3a
36.4b3b
Compiler

Compiled 67 to 50 computations (25.4% saved)

bsearch401.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
331.0ms
7.12192127334732e+62
2.5147409721018106e+72
69.0ms
-3.7806798341957194e+258
-9.271870647754896e+226
Compiler

Compiled 456 to 387 computations (15.1% saved)

regimes193.0ms (0.5%)

Counts
5 → 9
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
(*.f64 y b)
(*.f64 t b)
Outputs
x
(*.f64 -2 b)
x
a
(*.f64 y b)
a
(*.f64 -2 b)
a
x
Calls

6 calls:

73.0ms
z
43.0ms
x
23.0ms
a
22.0ms
b
16.0ms
t
Results
ErrorSegmentsBranch
41.2b9x
47.4b3y
45.2b7z
46.5b4t
42.1b4a
44.3b3b
Compiler

Compiled 59 to 46 computations (22% saved)

bsearch275.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
3.569972792810432e+28
7.373674784911095e+30
31.0ms
7.88677610134669e+25
3.739193684896451e+26
30.0ms
2.646713859794029e-137
6.561957051251495e-132
30.0ms
6.979039657148071e-271
5.625737712421515e-268
29.0ms
-1.9739833837803e-169
-1.076003712009633e-179
32.0ms
-9.837857309242515e+67
-2.0604784690024708e+67
60.0ms
-2.6105758989348154e+79
-1.7720133731045418e+68
30.0ms
-1.154345676514136e+102
-1.6343098863320732e+99
Compiler

Compiled 36 to 27 computations (25% saved)

regimes96.0ms (0.3%)

Counts
3 → 4
Calls
Call 1
Inputs
a
x
(*.f64 -2 b)
Outputs
a
x
(*.f64 -2 b)
a
Calls

6 calls:

28.0ms
x
19.0ms
z
17.0ms
a
11.0ms
t
10.0ms
y
Results
ErrorSegmentsBranch
42.5b7x
47.4b3y
46.4b5z
47.6b3t
42.1b4a
44.3b3b
Compiler

Compiled 53 to 44 computations (17% saved)

bsearch368.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
235.0ms
1.2043850819282623e+141
3.7042609335100727e+170
30.0ms
5.863795410539976e-87
3.760911456296836e-83
103.0ms
-6.071512312803115e+123
-4.116310770013601e+122
Compiler

Compiled 330 to 287 computations (13% saved)

regimes175.0ms (0.5%)

Accuracy

Total -19.5b remaining (-45.1%)

Threshold costs -19.5b (-45.1%)

Counts
2 → 3
Calls
Call 1
Inputs
a
x
Outputs
a
x
a
Calls

6 calls:

98.0ms
b
25.0ms
t
17.0ms
x
17.0ms
y
9.0ms
a
Results
ErrorSegmentsBranch
44.7b3x
47.4b3y
48.6b2z
47.6b3t
43.1b3a
48.7b2b
Compiler

Compiled 50 to 42 computations (16% saved)

bsearch341.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
100.0ms
1.0710054516178734e-42
9.356323262256003e-37
241.0ms
-6.071512312803115e+123
-4.116310770013601e+122
Compiler

Compiled 132 to 111 computations (15.9% saved)

simplify270.0ms (0.7%)

Algorithm
egg-herbie
Rules
179×cancel-sign-sub-inv_binary64
138×distribute-rgt-neg-in_binary64
92×distribute-lft-neg-out_binary64
88×distribute-lft-neg-in_binary64
84×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03101928
14101890
24991878
35721878
46751878
57761878
68631878
79451878
810081878
910761878
1011681878
1112531878
1213211878
1313851878
1414461878
1514691878
1614741878
1714831878
1814871878
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))))))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (-.f64 x (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))))))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (-.f64 x (*.f64 (-.f64 t 1) a))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -953081177903223/4) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)))))))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 z y) z)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 t (-.f64 b a))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (-.f64 x (neg.f64 a)) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 a)) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a))))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 t (-.f64 b a)) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 y 2) b) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 a)) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (-.f64 x (neg.f64 a)) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 (neg.f64 z) y) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 (-.f64 y 2) b)))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 x (*.f64 t a)) (if (<=.f64 t 8288615942134983/147573952589676412928) (-.f64 x (neg.f64 a)) (-.f64 x (*.f64 t a))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (-.f64 x (neg.f64 a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 (neg.f64 z) y) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 a)) (*.f64 a (neg.f64 t))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (neg.f64 a)) (*.f64 -2 b)))
(if (<=.f64 x -1154345676514135978491665221774440311799935753856125890360308941451122628335947877494491099755433689088) x (if (<=.f64 x -26105758989348153717801203241870470068973107643960842709430052336716597398863872) (*.f64 -2 b) (if (<=.f64 x -98378573092425149495243024414904905481884728708035649970960968187904) x (if (<=.f64 x -6710128462814199/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) a (if (<=.f64 x 3320943992037175/4758454107128905800953799994079681792420032645310062268978469949811010102913293995344538606387700321887355916128617513761454672785743698264930657859527662802505506689431871596616596511469752757984765426503524599059416795862009216282102716609115705865638544337453260521036049116206989312) (*.f64 y b) (if (<=.f64 x 5544786105880525/209496998905353079680844140596966345741865090946756146526930647558152562969899171512529285908857866057656747784163844544589904418936665155413025765720064) a (if (<=.f64 x 78867761013466901663186944) (*.f64 -2 b) (if (<=.f64 x 35699727928104320201513762816) a x))))))))
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6566702469981625/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) x (if (<=.f64 a 1219999999999999915788184104263273213404077420797770780784941982750802122902547842975392852639294428338846833170399820058803297869346658844672) (*.f64 -2 b) a)))
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6722810178959149/6277101735386680763835789423207666416102355444464034512896) x a))
a
Outputs
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(fma.f64 (+.f64 y (-.f64 t 2)) b (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
(+.f64 (-.f64 (-.f64 x (*.f64 z (-.f64 y 1))) (*.f64 a (+.f64 t -1))) (*.f64 b (+.f64 (+.f64 y t) -2)))
(+.f64 (+.f64 (-.f64 x (*.f64 z (-.f64 y 1))) (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a)) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 a (+.f64 t -1))) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 z (-.f64 y 1))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 a (+.f64 t -1))) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 z (-.f64 y 1)))))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 5752505050106921/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 z (-.f64 1 y))) (if (<=.f64 b 999999999999999980835596172437374590573120014030318793091164810154100112203678582976298268616221151962702060266176005440567032331208403948233373515776) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 a (-.f64 1 t))) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 z (-.f64 1 y)))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1))))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t)))) (*.f64 z (-.f64 1 y))) (if (<=.f64 a 82000000000000003339954070052877346164154708575399121557449253300174496203696530105042144779084389941248) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1))))))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (+.f64 (*.f64 t (neg.f64 a)) (*.f64 (-.f64 (+.f64 y t) 2) b)) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (+.f64 (*.f64 b (+.f64 (+.f64 y t) -2)) (*.f64 a (neg.f64 t))) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))
(if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (+.f64 (*.f64 a (+.f64 t -1)) (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 3792676665638031184704740728782178317894680576) (-.f64 (*.f64 b (+.f64 -2 (+.f64 y t))) (*.f64 t a)) (if (<=.f64 b 449999999999999973457990046261517499935973494258555676005057340905580228432358972138214490305813912545954144924079784244337481911369963359210018733490700288) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 a)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (-.f64 (+.f64 x (*.f64 b (+.f64 (+.f64 y t) -2))) (neg.f64 a)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))))))))
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))))))))
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -3237072255061/18152061871066687778296661354368903321914797383537530017770652579540291225102592450502542901564408576535628952517004065557306948798155587253306037366972590646764780767180906664339433713797579795779287057890032192456881698082005372169886461674177955114893128728688280185836979355648) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 3657737558137047/2436328502849999770088345596968797077719056714398751881716976614303237172691606525616403766470502564806326229057852167045864792466300773511644496824078163354882819424989118257467697413872513412088199898369804594718421399481348718736436590903867241403206934700776069386770457147497978527744) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 7059472648236685/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 a (+.f64 x (*.f64 b (+.f64 -2 (+.f64 y t))))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 t b)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (-.f64 (+.f64 (*.f64 y b) x) (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)))))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (-.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (-.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (+.f64 (*.f64 t b) (*.f64 y (neg.f64 z))) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (-.f64 (+.f64 x (*.f64 y b)) (*.f64 a (+.f64 t -1))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 8446232412053215/18889465931478580854784) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (-.f64 (*.f64 t b) (*.f64 y z)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -11500000000000000059110133425215817612704913916697844622259617830295136370688) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b -137704960423135161614336) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -4944590367824939/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 8446232412053215/18889465931478580854784) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 627180312678744963009896073221800376108269864747008) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 b 420000000000000002793876481647707437832230146038664005086002079321130185927531185076357168995569238016) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b 799999999999999975051072376239415867482970152490237515253153694022332201093365163162032019163167078442074112) (-.f64 (*.f64 t b) (*.f64 y z)) (if (<=.f64 b 8999999999999999652605816159272590287429321379020729985548590597192429698802873253937734959910540968681630299590518215016448) (+.f64 (+.f64 x (*.f64 y b)) (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))))))))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a)) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (-.f64 (+.f64 (*.f64 t b) x) (*.f64 (-.f64 t 1) a))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1))) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (-.f64 (+.f64 x (*.f64 t b)) (*.f64 a (+.f64 t -1)))))))
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t)))))))
(if (<=.f64 t -13692247373897200269885702144) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t))) (if (<=.f64 t -802613479333813/7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 t 6918354653563489/609082125712499942522086399242199269429764178599687970429244153575809293172901631404100941617625641201581557264463041761466198116575193377911124206019540838720704856247279564366924353468128353022049974592451148679605349870337179684109147725966810350801733675194017346692614286874494631936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 t 55999999999999997437551452319718568527940010391551237206962722620786245759962322606480872185391376147155880923830865710654754390016) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (+.f64 (+.f64 x (*.f64 t b)) (*.f64 a (-.f64 1 t)))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (+.f64 y -1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (-.f64 x (*.f64 (-.f64 t 1) a)) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x))))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (-.f64 (+.f64 x (*.f64 y b)) (neg.f64 a)) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (-.f64 x (*.f64 a (+.f64 t -1))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 5556979871415999/549755813888) (-.f64 x (-.f64 (*.f64 z (-.f64 y 1)) a)) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (+.f64 x (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b -7200000000000000264147029094534602431484582176039793377940457662313566412391349051485669109530624) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -953081177903223/4) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 5556979871415999/549755813888) (+.f64 x (-.f64 a (*.f64 z (-.f64 y 1)))) (if (<=.f64 b 4615857294395282238126833008640) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b 849999999999999992660257320161913063376247495598776971689984) (+.f64 x (*.f64 a (-.f64 1 t))) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2))))))))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 (*.f64 b (-.f64 t 2)) x)) (-.f64 x (*.f64 (-.f64 t 1) a))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (-.f64 x (*.f64 a (+.f64 t -1)))))))
(if (<=.f64 a -176895533458268522993720628013689336251237549856705145694835243491524608) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 a 126943086691385/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (if (<=.f64 a 8921950101163558475044126994861129728) (-.f64 z (*.f64 y z)) (if (<=.f64 a 1199999999999999986525397483826023378631190437009850848342401474367998865506641972700338279848365229205602570563964134887081226759185125867520) (+.f64 z (+.f64 x (*.f64 b (-.f64 t 2)))) (+.f64 x (*.f64 a (-.f64 1 t)))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -953081177903223/4) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 (*.f64 y b) x) (neg.f64 a)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -953081177903223/4) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (-.f64 (+.f64 x (*.f64 y b)) (neg.f64 a)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 a (+.f64 t -1))) (*.f64 b (+.f64 (+.f64 y t) -2))))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 b -953081177903223/4) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t)))))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (+.f64 x (+.f64 z a)) (if (<=.f64 b -953081177903223/4) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -4441698993440881/1606938044258990275541962092341162602522202993782792835301376) (+.f64 a (+.f64 x (*.f64 y b))) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (+.f64 x (+.f64 z a)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t)))))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 (-.f64 (+.f64 y t) 2) b) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 (-.f64 t 1) a)) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 z y) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b)))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 b (+.f64 (+.f64 y t) -2)) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (-.f64 x (*.f64 a (+.f64 t -1))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 a (+.f64 t -1))) (*.f64 b (+.f64 (+.f64 y t) -2))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (-.f64 x (-.f64 (*.f64 y z) z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t)))))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -1743756470779325255054377702722890385850368) (+.f64 x (+.f64 z a)) (if (<=.f64 b -15070348261666302569633435090944) (*.f64 b (+.f64 -2 (+.f64 y t))) (if (<=.f64 b -6875179002210981/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b -3976582294148311/159667224762777584932509817042947085285396100834836603320203779394976951349517125262796637239410856087147395747535399619517795039071487492859133743862786513625600453836086854121403017715549038974612268539563513919466464836409669631111108421475843532600569672550060483331388679618427520794230784) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 1134447031143719/2215827865120445285436604169234485268788427414982608644747394113713414456189281304992986194038624093815384393617798347846350945898212351959632084639523021319185153902243763020549247279516306127414463752183841820368271691660401046407456843466086176161485977628013706077372678144) (+.f64 x (*.f64 a (-.f64 1 t))) (if (<=.f64 b 3366230108293445/21778071482940061661655974875633165533184) (+.f64 x (-.f64 z (*.f64 y z))) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 x (*.f64 a (-.f64 1 t))) (*.f64 b (+.f64 -2 (+.f64 y t)))))))))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 z y) z)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 y z) z)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (*.f64 y z) z)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 7203898533808869/590295810358705651712) (+.f64 x (+.f64 z a)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (+.f64 x (-.f64 z (*.f64 y z))) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 t (-.f64 b a))))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (-.f64 x (neg.f64 (+.f64 a z))) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 (+.f64 a z))) (*.f64 t (-.f64 b a))))))
(if (<=.f64 t -4328717458658595/8192) (*.f64 t (-.f64 b a)) (if (<=.f64 t 8012867999582563/2097152) (+.f64 x (+.f64 z a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (-.f64 z (*.f64 y z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (+.f64 x (+.f64 z a)) (*.f64 t (-.f64 b a))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (-.f64 x (neg.f64 a)) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 a)) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a))))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (-.f64 x (neg.f64 a)) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (-.f64 x (neg.f64 a)) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a))))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t -6305745312311057/790633801981682102939434948120770730662330663141180149831645929794649763937481823796720248833738767559324522907487546528866440380413255769011771093518509804380927438580337349079948858367551626332967842494034160424070341732127705853976966233004529516956289283251401443563802400840744150516352841830648461966045733363646464) (+.f64 a x) (if (<=.f64 t 6187407445780435/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (-.f64 z (*.f64 y z)) (if (<=.f64 t 7203898533808869/590295810358705651712) (+.f64 a x) (if (<=.f64 t 10999999999999999403058485614769959891976047213831097848630840046557381709698796098024659144535785904550726971241041855691147752314385416240309993472) (-.f64 z (*.f64 y z)) (*.f64 t (-.f64 b a))))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 (-.f64 b z) y) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 t (-.f64 b a)) (if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 y (-.f64 b z)) (if (<=.f64 t 500875773360867712) (+.f64 a x) (*.f64 t (-.f64 b a)))))
(if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 t (-.f64 b a)) (if (<=.f64 t 500875773360867712) (-.f64 x (neg.f64 a)) (*.f64 t (-.f64 b a))))
(if (<=.f64 t -5016579550445003/5316911983139663491615228241121378304) (*.f64 t (-.f64 b a)) (if (<=.f64 t 500875773360867712) (+.f64 a x) (*.f64 t (-.f64 b a))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 (-.f64 y 2) b) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 a)) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (-.f64 x (neg.f64 a)) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 (neg.f64 z) y) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 (-.f64 y 2) b)))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 y -2)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (-.f64 x (neg.f64 a)) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (-.f64 x (neg.f64 a)) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 y (neg.f64 z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 b (+.f64 y -2))))))))
(if (<=.f64 b -389999999999999978395532963656821672941943396347156207095862019635126182751458373737071308110363349647242394471039744528595314200520367881177077195840757269083325464576) (*.f64 b (+.f64 y -2)) (if (<=.f64 b -8110144854093965/32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358016) (+.f64 a x) (if (<=.f64 b 85180061971879/46020944252475287237870212884199033180620210660923048261998100776379565006208246561973370194536329221406749153247076699560650180816490655358168942243705375840708580716765564230733368217919000094579989235733761476822566574679670497657321756298451772713817730735254092349426494960250807374037851220383801379127296) (-.f64 x (*.f64 t a)) (if (<=.f64 b 4322466412423543/52093862756873861516248842115009826540193424393093032503095764154406540920450250558761189069309017896429139926511197190983506262922807539690338719158834609735118418589953238737992799108686047068195039188561614077981958969042784853837217792) (+.f64 a x) (if (<=.f64 b 2169316274988593/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 y (neg.f64 z)) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (*.f64 t a)) (*.f64 b (+.f64 y -2))))))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 x (*.f64 t a)) (if (<=.f64 t 8288615942134983/147573952589676412928) (-.f64 x (neg.f64 a)) (-.f64 x (*.f64 t a))))
(if (<=.f64 t -13692247373897200269885702144) (-.f64 x (*.f64 t a)) (if (<=.f64 t 8288615942134983/147573952589676412928) (+.f64 a x) (-.f64 x (*.f64 t a))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (-.f64 x (neg.f64 a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 (neg.f64 z) y) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 a)) (*.f64 a (neg.f64 t))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (-.f64 x (neg.f64 a)) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 y (neg.f64 z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (-.f64 x (neg.f64 a)) (*.f64 a (neg.f64 t))))))
(if (<=.f64 t -13692247373897200269885702144) (*.f64 a (neg.f64 t)) (if (<=.f64 t 4420082643416835/2048) (+.f64 a x) (if (<=.f64 t 20999999999999998585558710301802115156041981843118074940374632724344892294926631462694430285611663360) (*.f64 y (neg.f64 z)) (if (<=.f64 t 4499999999999999828615395700686563125015701153452874157792254549516081999881169952703332573135919737701788643352118278976532664311338057335453229344345761695801324044713727201205764971765006530825366789563687353347269426715557888) (+.f64 a x) (*.f64 a (neg.f64 t))))))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (-.f64 x (neg.f64 a)) (*.f64 -2 b)))
(if (<=.f64 b -95000000000000008819179685342203914204583102982798232543528818720577256677871100924028159148633849415795970469331635012859864830958522647421070206593004547729127765329736961697361674027628032263936050866165335629900176445931520) (*.f64 -2 b) (if (<=.f64 b 2499999999999999957584241987403314495077270060171164080459613549891682304) (+.f64 a x) (*.f64 -2 b)))
(if (<=.f64 x -1154345676514135978491665221774440311799935753856125890360308941451122628335947877494491099755433689088) x (if (<=.f64 x -26105758989348153717801203241870470068973107643960842709430052336716597398863872) (*.f64 -2 b) (if (<=.f64 x -98378573092425149495243024414904905481884728708035649970960968187904) x (if (<=.f64 x -6710128462814199/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) a (if (<=.f64 x 3320943992037175/4758454107128905800953799994079681792420032645310062268978469949811010102913293995344538606387700321887355916128617513761454672785743698264930657859527662802505506689431871596616596511469752757984765426503524599059416795862009216282102716609115705865638544337453260521036049116206989312) (*.f64 y b) (if (<=.f64 x 5544786105880525/209496998905353079680844140596966345741865090946756146526930647558152562969899171512529285908857866057656747784163844544589904418936665155413025765720064) a (if (<=.f64 x 78867761013466901663186944) (*.f64 -2 b) (if (<=.f64 x 35699727928104320201513762816) a x))))))))
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6566702469981625/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) x (if (<=.f64 a 1219999999999999915788184104263273213404077420797770780784941982750802122902547842975392852639294428338846833170399820058803297869346658844672) (*.f64 -2 b) a)))
(if (<=.f64 a -6000000000000000159827641235153931506532980384236657886312818549514931583750410757993327492375101223070919930521795982000128) a (if (<=.f64 a 6722810178959149/6277101735386680763835789423207666416102355444464034512896) x a))
a
Compiler

Compiled 1445 to 869 computations (39.9% saved)

soundness166.0ms (0.5%)

Algorithm
egg-herbie
Rules
494×fma-neg_binary64
471×distribute-neg-in_binary64
457×associate--l-_binary64
369×associate--r-_binary64
344×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01931
14927
214525
361625
4223125
5556325
6704025
Stop Event
node limit
Compiler

Compiled 657 to 457 computations (30.4% saved)

end1.1s (3.1%)

Compiler

Compiled 1301 to 668 computations (48.7% saved)

Profiling

Loading profile data...