Details

Time bar (total: 18.0s)

analyze601.0ms (3.3%)

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

Compiled 28 to 20 computations (28.6% saved)

sample2.6s (14.6%)

Results
1.8s8256×body256valid
841.0ms4648×body256invalid

preprocess73.0ms (0.4%)

Algorithm
egg-herbie
Rules
870×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
36765400
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 x (*.f64 z (+.f64 t -1))) (-.f64 (*.f64 (+.f64 y -1) a) (*.f64 (+.f64 y (-.f64 t 2)) b)))
(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 z (+.f64 b -1))) (-.f64 (*.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 x (*.f64 z (+.f64 t -1))) (-.f64 (*.f64 (+.f64 y -1) a) (*.f64 (+.f64 y (-.f64 t 2)) b)))
(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 y -1) z)) (-.f64 (*.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)

simplify61.0ms (0.3%)

Algorithm
egg-herbie
Rules
494×fma-neg_binary64
475×distribute-neg-in_binary64
457×associate--l-_binary64
357×associate--r-_binary64
346×neg-sub0_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01931
14927
214525
359125
4219025
5545625
6689625
7792025
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 (+.f64 y -1) z) (*.f64 (+.f64 t -1) a))) (*.f64 (+.f64 y (-.f64 t 2)) b))
(fma.f64 (+.f64 y (+.f64 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)))
(fma.f64 (+.f64 (+.f64 y 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)))

eval1.0ms (0%)

Compiler

Compiled 45 to 29 computations (35.6% saved)

prune2.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)

localize33.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
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 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a))
0.0b
(*.f64 (-.f64 y 1) z)
0.0b
(-.f64 x (*.f64 (-.f64 y 1) z))
0.0b
(*.f64 (-.f64 y 1) z)
0.0b
(-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.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)

series47.0ms (0.3%)

Counts
4 → 180
Calls

48 calls:

TimeVariablePointExpression
15.0ms
y
@inf
(-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a))
8.0ms
y
@0
(*.f64 (-.f64 (+.f64 y t) 2) b)
2.0ms
a
@-inf
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
1.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
a
@inf
(+.f64 (-.f64 (-.f64 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))

rewrite149.0ms (0.8%)

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
2695961
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 x (*.f64 (-.f64 y 1) z)) (*.f64 (-.f64 t 1) a))
(*.f64 (-.f64 y 1) z)
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 t (-.f64 y 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 y (+.f64 t 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 y (+.f64 t 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 t (-.f64 y 2))) b))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (*.f64 (+.f64 y -1) z) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b)))) (/.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 2) (cbrt.f64 (fma.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) (sqrt.f64 (fma.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b) 2)) (/.f64 1 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b))) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (pow.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b) 3)) (+.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (-.f64 (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2) (*.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b) 2)) (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b) (-.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b) 2))) (neg.f64 (-.f64 x (+.f64 (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)) (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b)) 3)) (+.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) 2) (+.f64 (*.f64 (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))) (*.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 2)) b)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b)))) (+.f64 (-.f64 x (*.f64 (+.f64 y -1) z)) (-.f64 (*.f64 (+.f64 t -1) a) (*.f64 (+.f64 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2) (pow.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))) 2)) (-.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 t (-.f64 y 2)) b) 2)) (cbrt.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 2)) b)) (sqrt.f64 (*.f64 (+.f64 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 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 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 t (-.f64 y 2)) b (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a))))))))))
((#(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 (-.f64 x (*.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 (-.f64 x (*.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 (-.f64 x (*.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 (-.f64 x (*.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 (-.f64 x (*.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 (-.f64 x (*.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 (-.f64 x (*.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 (-.f64 x (*.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 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)))))) (#(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 expm1.f64 (log1p.f64 (-.f64 x (fma.f64 (+.f64 y -1) z (*.f64 (+.f64 t -1) a)))))))))
((#(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 (exp.f64 (log1p.f64 (*.f64 (+.f64 y -1) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 3) -1) z) (fma.f64 y y (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -1) z) (+.f64 y 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 y y -1)) (+.f64 y 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y -1) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 y -1) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 y -1) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 y -1) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 y -1) z) 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 (+.f64 y -1) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y -1) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 y -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 y -1) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y -1) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y -1) z)))))))

simplify133.0ms (0.7%)

Algorithm
egg-herbie
Rules
660×sub-neg_binary64
562×unsub-neg_binary64
525×fma-def_binary64
417×neg-sub0_binary64
398×distribute-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01052910
13662692
210322686
337522686
447592686
566452686
Stop Event
node limit
Counts
314 → 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 (+.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)))
(*.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))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.f64 z (-.f64 y 1))
(*.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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 (-.f64 1 t) a (*.f64 z (-.f64 1 y))))
(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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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) (fma.f64 (+.f64 t -1) a (neg.f64 z)))
(+.f64 (fma.f64 b (+.f64 t -2) x) (fma.f64 a (-.f64 1 t) z))
(fma.f64 b (+.f64 t -2) (+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 a (-.f64 1 t) x))
(+.f64 (fma.f64 b (+.f64 y -2) (fma.f64 t (-.f64 b a) x)) a)
(-.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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z))))
(*.f64 z (-.f64 1 y))
(fma.f64 y (neg.f64 z) z)
(-.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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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) (+.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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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) (+.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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z))))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 z (-.f64 1 y))
(fma.f64 y (neg.f64 z) z)
(-.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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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)))
(fma.f64 b (+.f64 y -2) (+.f64 (fma.f64 z (-.f64 1 y) x) a))
(+.f64 x (fma.f64 b (+.f64 y -2) (fma.f64 z (-.f64 1 y) a)))
(+.f64 (fma.f64 b (+.f64 y -2) x) (fma.f64 z (-.f64 1 y) 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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 z (-.f64 y 1)))
(-.f64 (fma.f64 (+.f64 (+.f64 t y) -2) b x) (*.f64 z (+.f64 -1 y)))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) x))
(+.f64 z (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) 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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (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 -1 y))))
(fma.f64 b (+.f64 t (+.f64 y -2)) (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))
(+.f64 (fma.f64 y (-.f64 b z) (fma.f64 b (+.f64 t -2) x)) (fma.f64 a (-.f64 1 t) z))
(+.f64 x (fma.f64 b (+.f64 t -2) (fma.f64 y (-.f64 b z) (fma.f64 a (-.f64 1 t) z))))
(*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(neg.f64 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 -1 y))))
(fma.f64 (-.f64 1 t) a (*.f64 z (-.f64 1 y)))
(-.f64 z (fma.f64 y z (*.f64 (+.f64 t -1) a)))
(-.f64 z (fma.f64 y z (fma.f64 t a (neg.f64 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 (fma.f64 (+.f64 t -1) a (neg.f64 z)))
(+.f64 z (fma.f64 a (-.f64 1 t) x))
(+.f64 x (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 z (-.f64 1 y))
(fma.f64 y (neg.f64 z) z)
(-.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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 z (-.f64 1 y))
(fma.f64 y (neg.f64 z) z)
(-.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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 z (-.f64 1 y) x) a)
(fma.f64 z (-.f64 1 y) (+.f64 x a))
(+.f64 a (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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 x (*.f64 z (-.f64 y 1)))
(-.f64 x (*.f64 z (+.f64 -1 y)))
(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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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 -1 y))))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 -1 y))
(-.f64 (*.f64 y z) z)
(fma.f64 y z (neg.f64 z))

localize28.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 63 to 36 computations (42.9% saved)

series18.0ms (0.1%)

Counts
1 → 60
Calls

15 calls:

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

rewrite48.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
392×prod-diff_binary64
329×pow-prod-down_binary64
316×pow2_binary64
217×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
123015
2293715
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (-.f64 1 t) x) (*.f64 z (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 1 y)) (fma.f64 a (-.f64 1 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (-.f64 1 y)) 1) (fma.f64 a (-.f64 1 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (-.f64 1 y) (*.f64 a (-.f64 1 t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 2) (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 3) (pow.f64 (fma.f64 a (-.f64 1 t) x) 3)) (+.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (-.f64 (pow.f64 (fma.f64 a (-.f64 1 t) x) 2) (*.f64 (*.f64 z (-.f64 1 y)) (fma.f64 a (-.f64 1 t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (-.f64 1 y)) 2) (pow.f64 (fma.f64 a (-.f64 1 t) x) 2)) (-.f64 (*.f64 z (-.f64 1 y)) (fma.f64 a (-.f64 1 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a (-.f64 1 t) x)) (exp.f64 (*.f64 z (-.f64 1 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (-.f64 1 t) 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 (fma.f64 a (-.f64 1 t) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))))))))

simplify143.0ms (0.8%)

Algorithm
egg-herbie
Rules
1973×fma-neg_binary64
606×fma-def_binary64
367×sub-neg_binary64
271×unsub-neg_binary64
249×distribute-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027781
177781
2191781
3475781
41388781
52974781
64462781
74834781
84869781
94869781
104928781
114949781
124949781
136081781
146081781
156081781
Stop Event
saturated
Counts
94 → 57
Calls
Call 1
Inputs
(+.f64 (*.f64 a (-.f64 1 t)) x)
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(*.f64 z (-.f64 1 y))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 z x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(*.f64 a (-.f64 1 t))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(*.f64 a (-.f64 1 t))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 a (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(*.f64 -1 (*.f64 a t))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(*.f64 -1 (*.f64 a t))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(+.f64 (*.f64 a (-.f64 1 t)) (*.f64 z (-.f64 1 y)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
x
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
x
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
Outputs
(+.f64 (*.f64 a (-.f64 1 t)) x)
(fma.f64 a (-.f64 1 t) x)
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 z x))
(fma.f64 a (-.f64 1 t) (+.f64 x z))
(+.f64 x (fma.f64 a (-.f64 1 t) z))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 z x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 a t))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 a t))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 z (-.f64 1 y)) x))
(+.f64 a (fma.f64 z (-.f64 1 y) x))
(+.f64 x (fma.f64 z (-.f64 1 y) a))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 a t))
(*.f64 t (neg.f64 a))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(*.f64 -1 (*.f64 a t))
(neg.f64 (*.f64 a t))
(*.f64 t (neg.f64 a))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 a (+.f64 (*.f64 -1 (*.f64 a t)) (+.f64 (*.f64 z (-.f64 1 y)) x)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (*.f64 z (-.f64 1 y)))
(fma.f64 a (-.f64 1 t) (*.f64 z (-.f64 1 y)))
(fma.f64 a (-.f64 1 t) (-.f64 z (*.f64 z y)))
(-.f64 (fma.f64 z (-.f64 1 y) a) (*.f64 a t))
(-.f64 (+.f64 a z) (fma.f64 a t (*.f64 z y)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
x
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
x
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 z (-.f64 1 y)) x))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))

eval203.0ms (1.1%)

Compiler

Compiled 6632 to 4035 computations (39.2% saved)

prune81.0ms (0.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New25611267
Fresh000
Picked101
Done101
Total25811269
Error
0b
Counts
269 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
31.3b
(fma.f64 (+.f64 y (+.f64 t -2)) b x)
41.8b
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (-.f64 (+.f64 y t) 2) b))
48.7b
(-.f64 z (*.f64 y z))
47.5b
x
45.9b
(*.f64 a (-.f64 1 t))
14.4b
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
17.2b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
49.0b
(*.f64 t (-.f64 b a))
52.6b
(*.f64 y (-.f64 b z))
46.6b
(*.f64 (-.f64 (+.f64 y t) 2) b)
16.4b
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
Compiler

Compiled 307 to 226 computations (26.4% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 58 to 31 computations (46.6% saved)

series5.0ms (0%)

Counts
1 → 60
Calls

15 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0ms
t
@-inf
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0ms
y
@inf
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0ms
y
@0
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))
0.0ms
t
@0
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 (-.f64 (+.f64 y t) 2) b))

rewrite70.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
827×log-prod_binary64
511×fma-neg_binary64
318×expm1-udef_binary64
318×log1p-udef_binary64
248×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify119.0ms (0.7%)

Algorithm
egg-herbie
Rules
745×fma-neg_binary64
682×unsub-neg_binary64
578×fma-def_binary64
547×sub-neg_binary64
388×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0491028
1150934
2346930
31099928
42911928
55034928
67072928
77524928
87653928
97692928
107693928
Stop Event
node limit
Counts
115 → 82
Calls
Call 1
Inputs
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 (-.f64 t 1) a))
(-.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 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
x
(-.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 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
x
(-.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 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(*.f64 t (-.f64 b a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.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 -1 a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(*.f64 a (-.f64 1 t))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(*.f64 -1 (*.f64 (-.f64 t 1) a))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a))
(*.f64 y b)
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(*.f64 y b)
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.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 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.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 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(-.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 (-.f64 t 1) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
Outputs
(-.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) (*.f64 (-.f64 t 1) a))
(-.f64 (*.f64 (+.f64 (+.f64 y t) -2) b) (*.f64 (+.f64 t -1) a))
(fma.f64 (+.f64 t (+.f64 y -2)) b (*.f64 a (-.f64 1 t)))
(fma.f64 (+.f64 y (+.f64 t -2)) b (*.f64 a (-.f64 1 t)))
(fma.f64 b (+.f64 y -2) (fma.f64 t (-.f64 b a) a))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
x
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
x
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 y -2) b x) (neg.f64 a))
(+.f64 a (fma.f64 b (+.f64 y -2) x))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 t (-.f64 b a))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 t (-.f64 b a)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.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 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 b) (*.f64 -1 a)) t)) (+.f64 (*.f64 (-.f64 y 2) b) x)) (*.f64 -1 a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
(fma.f64 (+.f64 (+.f64 y t) -2) b x)
(fma.f64 (+.f64 t (+.f64 y -2)) b x)
(fma.f64 (+.f64 y (+.f64 t -2)) b x)
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 a (-.f64 1 t)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 -1 (*.f64 (-.f64 t 1) a))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 t 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 b (+.f64 t -2) x) (*.f64 (+.f64 t -1) a))
(+.f64 (fma.f64 b (+.f64 t -2) x) (*.f64 a (-.f64 1 t)))
(fma.f64 b (+.f64 t -2) (fma.f64 a (-.f64 1 t) x))
(+.f64 a (fma.f64 b -2 (fma.f64 t (-.f64 b a) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 y b)
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 y b)
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x)) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 x (*.f64 (-.f64 t 1) a))
(-.f64 x (*.f64 (+.f64 t -1) a))
(+.f64 x (*.f64 a (-.f64 1 t)))
(fma.f64 a (-.f64 1 t) x)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 (+.f64 (+.f64 y t) -2) b)
(*.f64 (+.f64 t (+.f64 y -2)) b)
(*.f64 (+.f64 y (+.f64 t -2)) b)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 (+.f64 (+.f64 y t) -2) b)
(*.f64 (+.f64 t (+.f64 y -2)) b)
(*.f64 (+.f64 y (+.f64 t -2)) b)
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 (-.f64 t 1) a))
(-.f64 (fma.f64 (+.f64 (+.f64 y t) -2) b x) (*.f64 (+.f64 t -1) a))
(fma.f64 a (-.f64 1 t) (fma.f64 (+.f64 t (+.f64 y -2)) b x))
(fma.f64 (+.f64 y (+.f64 t -2)) b (fma.f64 a (-.f64 1 t) x))
(fma.f64 t (-.f64 b a) (+.f64 a (fma.f64 b (+.f64 y -2) x)))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite44.0ms (0.2%)

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
217807
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 y (-.f64 b z))
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 y (-.f64 b z))) 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 y (-.f64 b z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 b z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (-.f64 b z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (-.f64 b z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (-.f64 b z)) 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 y (-.f64 b z)) 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 cbrt.f64 (*.f64 (pow.f64 (-.f64 b z) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (-.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (-.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (-.f64 b z))))))))

simplify62.0ms (0.3%)

Algorithm
egg-herbie
Rules
202×fma-def_binary64
124×fma-neg_binary64
41×cancel-sign-sub-inv_binary64
35×distribute-rgt-in_binary64
26×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011240
122240
240240
361240
492240
5158240
6287240
7419240
8595240
9733240
10745240
Stop Event
saturated
Counts
55 → 25
Calls
Call 1
Inputs
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.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 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 (-.f64 b z) y)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)
(+.f64 (*.f64 y b) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 b z) y)

localize8.0ms (0%)

Compiler

Compiled 17 to 12 computations (29.4% saved)

localize18.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 13 computations (48% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize23.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 52 to 32 computations (38.5% saved)

series10.0ms (0.1%)

Counts
3 → 102
Calls

33 calls:

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

rewrite98.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
716×fma-def_binary64
708×log-prod_binary64
375×fma-neg_binary64
264×expm1-udef_binary64
264×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01338
129438
2432538
Stop Event
node limit
Counts
3 → 213
Calls
Call 1
Inputs
(-.f64 x (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1))))
(+.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 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (cbrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x)) (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3))) (neg.f64 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2))) (neg.f64 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) 3) (pow.f64 (*.f64 z (+.f64 y -1)) 3)) (fma.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (-.f64 x (*.f64 (+.f64 t -1) a)) (+.f64 (pow.f64 (*.f64 z (+.f64 y -1)) 2) (*.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3)) (fma.f64 x x (-.f64 (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (*.f64 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (-.f64 x (*.f64 (+.f64 t -1) a))) (pow.f64 (*.f64 z (+.f64 y -1)) 2)) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (-.f64 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (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 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (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 x)) (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 x) (+.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 x)) (+.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 (exp.f64 x) (pow.f64 (exp.f64 a) (+.f64 t -1))) (pow.f64 (exp.f64 z) (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (-.f64 x (*.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 (exp.f64 x) (pow.f64 (exp.f64 a) (+.f64 t -1))) (+.f64 1 (expm1.f64 (*.f64 z (+.f64 y -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (/.f64 1 (exp.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 x)) (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 2) (neg.f64 (cbrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 2) (cbrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (neg.f64 (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3)) (/.f64 1 (fma.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (*.f64 x x))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 2)) (/.f64 1 (+.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (cbrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))) (cbrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (sqrt.f64 (-.f64 x (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (sqrt.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.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))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (neg.f64 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 -1 (*.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 z) (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (+.f64 y -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 y -1))) 2)) (cbrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (+.f64 t -1) a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 z (+.f64 y -1)))) (sqrt.f64 (*.f64 z (+.f64 y -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) 1 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (fma.f64 (neg.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) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) (+.f64 (neg.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))) (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.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))) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)))))))))
((#(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) (+.f64 y -1)) z))))))) (#(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 (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 (pow.f64 (fma.f64 z (+.f64 y -1) (*.f64 (+.f64 t -1) a)) 3) 1/3)))) (#(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 (pow.f64 (exp.f64 a) (+.f64 t -1)) (+.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)))) (pow.f64 (exp.f64 a) (+.f64 t -1))))))) (#(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 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 (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 (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 (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 t -1) a)) 2) (*.f64 z (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.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 (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 (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 (*.f64 z (pow.f64 (cbrt.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 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 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 expm1.f64 (log1p.f64 (fma.f64 z (+.f64 y -1) (*.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 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1))) (cbrt.f64 (pow.f64 (exp.f64 z) (+.f64 y -1))))) (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) (fma.f64 y y (-.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y y -1) z) (-.f64 y -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (pow.f64 y 3) -1)) (fma.f64 y y (-.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (fma.f64 y y -1)) (-.f64 y -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 y -1)) 1)))) (#(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 fma.f64 z y (*.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 -1 z))))) (#(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 expm1.f64 (log1p.f64 (*.f64 z (+.f64 y -1))))))))

simplify204.0ms (1.1%)

Algorithm
egg-herbie
Rules
1863×fma-neg_binary64
479×fma-def_binary64
413×sub-neg_binary64
303×unsub-neg_binary64
277×associate-+l-_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0531332
11691283
24391185
312051185
430221185
536161185
641081185
743051185
843251185
943251185
1045301185
1145621185
1245621185
1361931185
1461931185
1561931185
Stop Event
saturated
Counts
315 → 262
Calls
Call 1
Inputs
(*.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 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)))
(-.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 -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 (*.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 -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)) (fma.f64 z y (neg.f64 z)))
(-.f64 z (fma.f64 (+.f64 -1 t) a (*.f64 z y)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (-.f64 t 1) a) (*.f64 z (-.f64 y 1)))) x)
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 x (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(-.f64 x (fma.f64 z (+.f64 y -1) (neg.f64 a)))
(-.f64 x (-.f64 (fma.f64 z y (neg.f64 z)) a))
(+.f64 a (fma.f64 z (-.f64 1 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 a t)) x) (+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 x (*.f64 z (-.f64 y 1)))
(-.f64 x (*.f64 z (+.f64 y -1)))
(-.f64 x (fma.f64 z y (neg.f64 z)))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 a (-.f64 1 t))
(-.f64 a (*.f64 t a))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 a (-.f64 1 t)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 t 1) a)) x) (*.f64 z (-.f64 y 1)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) 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))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 z (-.f64 1 y)) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 x (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(-.f64 x (fma.f64 -1 z (*.f64 (+.f64 t -1) a)))
(-.f64 (fma.f64 a (-.f64 1 t) x) (neg.f64 z))
(+.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)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a)))
(fma.f64 -1 (fma.f64 (+.f64 t -1) a (*.f64 z (+.f64 y -1))) x)
(-.f64 x (fma.f64 t a (-.f64 (fma.f64 z y (neg.f64 z)) a)))
(fma.f64 a (-.f64 1 t) (fma.f64 z (-.f64 1 y) x))
(fma.f64 z (-.f64 1 y) (fma.f64 a (-.f64 1 t) x))
(+.f64 (*.f64 z (-.f64 y 1)) (*.f64 -1 a))
(fma.f64 z (+.f64 y -1) (neg.f64 a))
(-.f64 (fma.f64 z y (neg.f64 z)) a)
(-.f64 (*.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(*.f64 a t)
(*.f64 t 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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(*.f64 a t)
(*.f64 t 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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(*.f64 (-.f64 t 1) a)
(*.f64 (+.f64 t -1) a)
(-.f64 (*.f64 t a) a)
(*.f64 (-.f64 t 1) a)
(*.f64 (+.f64 t -1) a)
(-.f64 (*.f64 t a) a)
(*.f64 (-.f64 t 1) a)
(*.f64 (+.f64 t -1) a)
(-.f64 (*.f64 t a) a)
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(*.f64 z (-.f64 y 1))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 z (*.f64 (+.f64 t -1) a))
(-.f64 (-.f64 (*.f64 t a) a) z)
(-.f64 (*.f64 t a) (+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(+.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(*.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(*.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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 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 t a (-.f64 (fma.f64 z y (neg.f64 z)) a))
(fma.f64 (+.f64 -1 t) a (*.f64 z (+.f64 -1 y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 y z) (*.f64 -1 z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))
(+.f64 (*.f64 -1 z) (*.f64 y z))
(*.f64 z (+.f64 y -1))
(fma.f64 z y (neg.f64 z))
(*.f64 z (+.f64 -1 y))

eval839.0ms (4.7%)

Compiler

Compiled 8739 to 5490 computations (37.2% saved)

prune105.0ms (0.6%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New41817435
Fresh426
Picked101
Done224
Total42521446
Error
0b
Counts
446 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
47.5b
x
25.7b
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b))
45.9b
(*.f64 a (-.f64 1 t))
42.5b
(-.f64 x (*.f64 z y))
57.8b
(*.f64 b t)
52.6b
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y))
57.7b
(*.f64 z (neg.f64 y))
52.6b
(*.f64 y (-.f64 b z))
57.5b
(*.f64 b y)
38.6b
(-.f64 x (*.f64 t a))
51.2b
(*.f64 (-.f64 y 2) b)
31.3b
(fma.f64 (+.f64 y (+.f64 t -2)) b x)
28.3b
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a))
30.5b
(-.f64 x (-.f64 (*.f64 t a) a))
31.3b
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
33.5b
(-.f64 x (*.f64 z (-.f64 y 1)))
17.2b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (*.f64 z (-.f64 y 1)))
53.6b
(*.f64 t (neg.f64 a))
21.6b
(-.f64 x (-.f64 (*.f64 t a) (+.f64 a z)))
51.4b
(*.f64 b (-.f64 t 2))
48.7b
(-.f64 z (*.f64 y z))
Compiler

Compiled 493 to 367 computations (25.6% saved)

localize24.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 60 to 31 computations (48.3% saved)

series4.0ms (0%)

Counts
1 → 30
Calls

12 calls:

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

rewrite60.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
543×log-prod_binary64
516×fma-def_binary64
424×pow-prod-down_binary64
320×pow2_binary64
285×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01011
123311
2336911
Stop Event
node limit
Counts
1 → 58
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y (-.f64 t 2)) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2)) (cbrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) (sqrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x)) (/.f64 1 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 (+.f64 y (-.f64 t 2)) (*.f64 b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x)) (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x))) (neg.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)) (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y (-.f64 t 2)) b)) (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b (neg.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (-.f64 t 2)) b))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)) (+.f64 1 (expm1.f64 x))))))) (#(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 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 (+.f64 y (-.f64 t 2)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.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 x)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y (-.f64 t 2)) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y (-.f64 t 2)) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y (-.f64 t 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (-.f64 t 2)) b) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y (-.f64 t 2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(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) x)))) (#(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)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (+.f64 y (-.f64 t 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.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) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (*.f64 (cbrt.f64 b) (+.f64 y (-.f64 t 2))) x)))) (#(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)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.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) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y (-.f64 t 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (-.f64 t 2)) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y (-.f64 t 2)) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(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))) x)))) (#(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))) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y (-.f64 t 2)) b x)))))))

simplify64.0ms (0.4%)

Algorithm
egg-herbie
Rules
1016×fma-neg_binary64
811×fma-def_binary64
201×distribute-rgt-in_binary64
143×unsub-neg_binary64
117×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022281
150281
287263
3164263
4215263
5242263
6301263
7471263
8880263
91564263
102412263
113114263
123522263
133713263
143743263
Stop Event
saturated
Counts
88 → 73
Calls
Call 1
Inputs
(+.f64 (*.f64 b (-.f64 t 2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x))
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(*.f64 t b)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
x
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 (-.f64 (+.f64 y t) 2) b)
x
x
Outputs
(+.f64 (*.f64 b (-.f64 t 2)) x)
(fma.f64 b (+.f64 t -2) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 b (-.f64 t 2)) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 (-.f64 t 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(fma.f64 b (+.f64 y -2) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(*.f64 t b)
(*.f64 b t)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(*.f64 t b)
(*.f64 b t)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
(+.f64 (*.f64 t b) (+.f64 (*.f64 (-.f64 y 2) b) x))
(fma.f64 y b (fma.f64 b (+.f64 t -2) x))
(fma.f64 b t (fma.f64 b (+.f64 y -2) x))
(fma.f64 b (+.f64 (+.f64 t -2) y) x)
(fma.f64 b (+.f64 t (+.f64 y -2)) x)
x
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 y (+.f64 t -2)))
(*.f64 b (+.f64 (+.f64 t -2) y))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 y (+.f64 t -2)))
(*.f64 b (+.f64 (+.f64 t -2) y))
(*.f64 b (+.f64 t (+.f64 y -2)))
(*.f64 (-.f64 (+.f64 y t) 2) b)
(*.f64 b (+.f64 y (+.f64 t -2)))
(*.f64 b (+.f64 (+.f64 t -2) y))
(*.f64 b (+.f64 t (+.f64 y -2)))
x
x

localize12.0ms (0.1%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 16 to 8 computations (50% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite44.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
651×pow1_binary64
606×add-log-exp_binary64
606×log1p-expm1-u_binary64
606×expm1-log1p-u_binary64
593×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
71×fma-neg_binary64
21×cancel-sign-sub-inv_binary64
19×sub-neg_binary64
18×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013160
127160
249160
388160
4136160
5223160
6361160
7441160
8510160
9516160
Stop Event
saturated
Counts
64 → 46
Calls
Call 1
Inputs
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 z (-.f64 1 y))
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
z
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
Outputs
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 (+.f64 1 (*.f64 -1 y)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
z
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 -1 (*.f64 y z))
(*.f64 (neg.f64 y) z)
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(*.f64 -1 (*.f64 y z))
(*.f64 (neg.f64 y) z)
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)
(+.f64 (*.f64 -1 (*.f64 y z)) z)
(*.f64 z (-.f64 1 y))
(-.f64 z (*.f64 z y))
(fma.f64 z (neg.f64 y) z)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite46.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
738×pow1_binary64
684×add-log-exp_binary64
684×log1p-expm1-u_binary64
684×expm1-log1p-u_binary64
669×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify25.0ms (0.1%)

Algorithm
egg-herbie
Rules
101×fma-def_binary64
56×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
17×sub-neg_binary64
13×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08250
115223
231223
344223
456223
587223
6147223
7195223
8252223
9339223
10389223
11395223
Stop Event
saturated
Counts
73 → 42
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
Outputs
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 32 to 10 computations (68.8% saved)

series7.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite59.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
526×fma-def_binary64
419×log-prod_binary64
374×prod-exp_binary64
311×pow-prod-down_binary64
306×exp-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify31.0ms (0.2%)

Algorithm
egg-herbie
Rules
275×fma-neg_binary64
210×fma-def_binary64
64×cancel-sign-sub-inv_binary64
58×sub-neg_binary64
33×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022341
167314
2156314
3309314
4688314
5920314
61043314
71071314
81074314
Stop Event
saturated
Counts
177 → 155
Calls
Call 1
Inputs
(*.f64 -1 (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(*.f64 a t)
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(*.f64 a t)
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(*.f64 (-.f64 t 1) a)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))))
(-.f64 (*.f64 a t) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
Outputs
(*.f64 -1 (+.f64 a z))
(neg.f64 (+.f64 a z))
(-.f64 (neg.f64 a) z)
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 a t)
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 a t)
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 (+.f64 a z)) (*.f64 a t))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 (-.f64 t 1) a)
(*.f64 a (+.f64 t -1))
(-.f64 (*.f64 a t) a)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 t 1) a))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1)))
(*.f64 a (+.f64 t -1))
(-.f64 (*.f64 a t) a)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) 1))))
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (*.f64 a t) a)
(*.f64 a (+.f64 t -1))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 a t)) a)
(fma.f64 -1 (+.f64 a z) (*.f64 a t))
(-.f64 (*.f64 a t) (+.f64 a z))

eval114.0ms (0.6%)

Compiler

Compiled 6438 to 2705 computations (58% saved)

prune98.0ms (0.5%)

Pruning

25 alts after pruning (20 fresh and 5 done)

PrunedKeptTotal
New3688376
Fresh21214
Picked101
Done156
Total37225397
Error
0b
Counts
397 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
21.9b
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1)))
31.3b
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
47.5b
x
25.7b
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b))
45.9b
(*.f64 a (-.f64 1 t))
42.5b
(-.f64 x (*.f64 z y))
43.7b
(-.f64 (*.f64 b y) (*.f64 z (-.f64 y 1)))
57.7b
(*.f64 z (neg.f64 y))
30.6b
(-.f64 x (-.f64 (neg.f64 a) z))
28.3b
(-.f64 (+.f64 (*.f64 y b) x) (*.f64 z (-.f64 y 1)))
57.8b
(*.f64 b t)
52.6b
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y))
52.6b
(*.f64 y (-.f64 b z))
57.5b
(*.f64 b y)
38.6b
(-.f64 x (*.f64 t a))
51.2b
(*.f64 (-.f64 y 2) b)
31.3b
(fma.f64 (+.f64 y (+.f64 t -2)) b x)
28.3b
(-.f64 (+.f64 (*.f64 (-.f64 y 2) b) x) (*.f64 -1 a))
33.5b
(-.f64 x (*.f64 z (-.f64 y 1)))
22.5b
(-.f64 (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (neg.f64 z))
53.6b
(*.f64 t (neg.f64 a))
53.8b
z
38.6b
(-.f64 x (neg.f64 z))
51.4b
(*.f64 b (-.f64 t 2))
48.7b
(-.f64 z (*.f64 y z))
Compiler

Compiled 553 to 416 computations (24.8% saved)

localize23.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 48 to 30 computations (37.5% saved)

series5.0ms (0%)

Counts
2 → 60
Calls

15 calls:

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

rewrite59.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
438×log-prod_binary64
380×prod-exp_binary64
370×fma-def_binary64
329×exp-prod_binary64
318×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
118615
2265915
Stop Event
node limit
Counts
2 → 141
Calls
Call 1
Inputs
(+.f64 (*.f64 b (+.f64 y -2)) x)
(*.f64 b (+.f64 y -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 b (+.f64 y -2) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (fma.f64 b (+.f64 y -2) (neg.f64 x))) (/.f64 (*.f64 x x) (fma.f64 b (+.f64 y -2) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 b (+.f64 y -2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 b (+.f64 y -2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) (pow.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) 2) (cbrt.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b (+.f64 y -2) x)) (sqrt.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x)) (/.f64 1 (fma.f64 b (+.f64 y -2) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2)) (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 b (+.f64 y -2) (neg.f64 x)) (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 b (*.f64 (+.f64 y -2) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x)) (fma.f64 b (+.f64 y -2) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x))) (neg.f64 (fma.f64 b (+.f64 y -2) (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 b (+.f64 y -2)) 2)) (-.f64 x (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b (+.f64 y -2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b (+.f64 y -2) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 b (+.f64 y -2))) (pow.f64 (*.f64 b (+.f64 y -2)) 2)) (+.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 b (+.f64 y -2) (neg.f64 x)) (-.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x))) 2)) (cbrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)))) (sqrt.f64 (log.f64 (fma.f64 b (+.f64 y -2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 b (+.f64 y -2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 b) (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 b (+.f64 y -2) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y -2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -2) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (+.f64 y -2)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -2)) 2) (*.f64 (cbrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) (pow.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) 2) (cbrt.f64 (*.f64 b (+.f64 y -2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y -2)) (*.f64 (sqrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b (+.f64 y -2))) (sqrt.f64 (*.f64 b (+.f64 y -2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b y)) 2) (cbrt.f64 (*.f64 b y)) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b y)) (sqrt.f64 (*.f64 b y)) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 b -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 y -2)) 2)) (cbrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 y -2))) (sqrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 b (+.f64 y -2) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 b (+.f64 y -2) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 b (+.f64 y -2) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 b (+.f64 y -2) x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 b (+.f64 y -2) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b (+.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 b y) 1) (*.f64 (*.f64 b -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b (+.f64 y -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b y) 3) (pow.f64 (*.f64 b -2) 3)) (+.f64 (pow.f64 (*.f64 b y) 2) (-.f64 (pow.f64 (*.f64 b -2) 2) (*.f64 (*.f64 b y) (*.f64 b -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 b y) 2) (pow.f64 (*.f64 b -2) 2)) (-.f64 (*.f64 b y) (*.f64 b -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -8 (pow.f64 y 3)) b) (-.f64 (fma.f64 y y 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 -8 (pow.f64 y 3))) (-.f64 (fma.f64 y y 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 b (+.f64 y -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b (+.f64 y -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b (+.f64 y -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 b (+.f64 y -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 b (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 b (+.f64 y -2))))) (sqrt.f64 (log.f64 (*.f64 b (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 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 log.f64 (+.f64 1 (expm1.f64 (*.f64 b (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b (+.f64 y -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b -2 (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 b (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) -2) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b y) 1 (*.f64 (*.f64 b -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b y)) 2) (cbrt.f64 (*.f64 b y)) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b -2)) 2) (cbrt.f64 (*.f64 b -2)) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b y)) (sqrt.f64 (*.f64 b y)) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b -2)) (sqrt.f64 (*.f64 b -2)) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 y)) (sqrt.f64 y) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 b)) (sqrt.f64 b) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sqrt.f64 b)) (sqrt.f64 b) (*.f64 b y))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b (+.f64 y -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b (+.f64 y -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b (+.f64 y -2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 b (+.f64 y -2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (+.f64 y -2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (+.f64 y -2))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b) 1) (log.f64 (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 b) (*.f64 (log.f64 (+.f64 y -2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b) 1) (*.f64 (log.f64 (+.f64 y -2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 y -2)) 1) (log.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (+.f64 y -2)) (*.f64 (log.f64 b) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (+.f64 y -2)) 1) (*.f64 (log.f64 b) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b (+.f64 y -2))))))))

simplify19.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
014412
128412
242412
348412
Stop Event
saturated
Counts
201 → 152
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(*.f64 (-.f64 y 2) b)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(*.f64 (-.f64 y 2) b)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 -2 b) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(*.f64 (-.f64 y 2) b)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
x
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
x
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.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
x
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 -2 b) x)
(fma.f64 -2 b x)
(fma.f64 b -2 x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 (+.f64 y -2) b x)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
x
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
x
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(+.f64 (*.f64 (-.f64 y 2) b) x)
(fma.f64 (+.f64 y -2) b x)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (+.f64 y -2) b)
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(*.f64 y b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)
(+.f64 (*.f64 y b) (*.f64 -2 b))
(*.f64 (+.f64 y -2) b)

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 12 computations (29.4% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite43.0ms (0.2%)

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
216497
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 b (-.f64 t 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b t) (*.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 b (+.f64 t -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 t 3) -8) b) (fma.f64 t t (+.f64 4 (*.f64 t 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 t t -4) b) (+.f64 t 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 t 3) -8)) (fma.f64 t t (+.f64 4 (*.f64 t 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (fma.f64 t t -4)) (+.f64 t 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b (+.f64 t -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (+.f64 t -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b (+.f64 t -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b (+.f64 t -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b (+.f64 t -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (+.f64 t -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b (+.f64 t -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 b 3) (pow.f64 (+.f64 t -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 t -2) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b (+.f64 t -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b (+.f64 t -2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b (+.f64 t -2))))))))

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010159
117159
222159
Stop Event
saturated
Counts
43 → 24
Calls
Call 1
Inputs
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 -2 b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(+.f64 (*.f64 t b) (*.f64 -2 b))
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 t b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(+.f64 (*.f64 t b) (*.f64 -2 b))
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 t b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(+.f64 (*.f64 t b) (*.f64 -2 b))
(+.f64 (*.f64 t b) (*.f64 -2 b))
Outputs
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 (-.f64 t 2) b)
(*.f64 (+.f64 t -2) b)
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(*.f64 t b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(*.f64 t b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)
(+.f64 (*.f64 t b) (*.f64 -2 b))
(*.f64 (+.f64 t -2) b)

localize38.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 25 to 16 computations (36% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite46.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
968×pow1_binary64
899×add-log-exp_binary64
898×log1p-expm1-u_binary64
898×expm1-log1p-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify31.0ms (0.2%)

Algorithm
egg-herbie
Rules
189×fma-neg_binary64
186×fma-def_binary64
51×distribute-rgt-in_binary64
37×cancel-sign-sub-inv_binary64
35×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
019345
151316
298256
3249256
4517256
5654256
6778256
7868256
8917256
9919256
Stop Event
saturated
Counts
74 → 50
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) 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 1 y))
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(-.f64 x (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
Outputs
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 (neg.f64 z) (+.f64 y -1))
(+.f64 (*.f64 z (neg.f64 y)) z)
(fma.f64 y (neg.f64 z) z)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
x
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
x
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
x
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(*.f64 z (-.f64 1 y))
(*.f64 (neg.f64 z) (+.f64 y -1))
(+.f64 (*.f64 z (neg.f64 y)) z)
(fma.f64 y (neg.f64 z) z)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 z (-.f64 1 y)) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(*.f64 -1 (*.f64 z (-.f64 y 1)))
(*.f64 (neg.f64 z) (+.f64 y -1))
(+.f64 (*.f64 z (neg.f64 y)) z)
(fma.f64 y (neg.f64 z) z)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 y 1))) x)
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 x (*.f64 -1 z))
(-.f64 x (neg.f64 z))
(+.f64 z x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) 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 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) 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 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) x) (*.f64 -1 z))
(fma.f64 -1 (*.f64 z (+.f64 y -1)) x)
(+.f64 z (fma.f64 (neg.f64 y) z x))
(fma.f64 z (-.f64 1 y) x)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 41 to 26 computations (36.6% saved)

series4.0ms (0%)

Counts
2 → 30
Calls

15 calls:

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

rewrite52.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
835×prod-diff_binary64
572×unpow-prod-down_binary64
416×log-prod_binary64
299×fma-def_binary64
244×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
118215
2247615
Stop Event
node limit
Counts
2 → 91
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 y 2) b) x)
(*.f64 (-.f64 y 2) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 y -2) b x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (-.f64 (*.f64 (+.f64 y -2) b) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (+.f64 y -2) b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 y -2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 y -2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 2) (cbrt.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 y -2) b x)) (sqrt.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (pow.f64 (/.f64 1 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 (+.f64 y -2) b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x)) (pow.f64 (/.f64 1 (-.f64 (*.f64 (+.f64 y -2) b) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 (+.f64 y -2) b x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2) (sqrt.f64 (fma.f64 (+.f64 y -2) b x))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (+.f64 y -2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))) 2) 3) (cbrt.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 (+.f64 y -2) b) x) (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3)) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 (+.f64 y -2) (*.f64 b x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x)) (-.f64 (*.f64 (+.f64 y -2) b) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (+.f64 y -2) b) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 y -2) b) 2)) (-.f64 x (*.f64 (+.f64 y -2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 y -2) b x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 y -2) b x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 y -2) b x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 y -2) b)) (pow.f64 (*.f64 (+.f64 y -2) b) 2)) (+.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) (pow.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 (+.f64 y -2) b) x) (-.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 2) (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 y -2) b x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 b) (+.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 y -2) b x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y -2) b x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (+.f64 y -2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) b) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 y -2) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 y -2) b)) 2) (cbrt.f64 (*.f64 (+.f64 y -2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 y -2)) 2) (*.f64 (cbrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 y -2) b)) (sqrt.f64 (*.f64 (+.f64 y -2) b)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (+.f64 y -2) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 y -2)) (*.f64 (sqrt.f64 (+.f64 y -2)) b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 y -2) (sqrt.f64 b)) (sqrt.f64 b) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (+.f64 y -2)) 2)) (cbrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (+.f64 y -2))) (sqrt.f64 (+.f64 y -2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 y -2) b x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 y -2) b x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 y -2) b x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 y -2) b))))) (#(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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (+.f64 y -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.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 (fma.f64 y 2 4)))))) (#(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 (fma.f64 y 2 4)))))) (#(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) 2) 1/2)))) (#(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 pow.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3) 1/3)))) (#(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 log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 y -2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 y -2) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y b (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b y (*.f64 b -2))))) (#(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)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 y -2) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 y -2) b)))))))

simplify11.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
013193
125184
240184
347184
Stop Event
saturated
Counts
121 → 101
Calls
Call 1
Inputs
(+.f64 (*.f64 -2 b) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(*.f64 y b)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
x
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
(*.f64 (-.f64 y 2) b)
x
x
(*.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 (*.f64 -2 b) x)
(fma.f64 -2 b x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(*.f64 y b)
(*.f64 b y)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
(+.f64 (*.f64 y b) (+.f64 (*.f64 -2 b) x))
(fma.f64 y b (fma.f64 -2 b x))
(fma.f64 b (+.f64 -2 y) x)
x
(*.f64 (-.f64 y 2) b)
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(*.f64 (-.f64 y 2) b)
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
(*.f64 (-.f64 y 2) b)
(*.f64 b (+.f64 y -2))
(*.f64 b (+.f64 -2 y))
x
x
(*.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))

eval283.0ms (1.6%)

Compiler

Compiled 6205 to 3973 computations (36% saved)

prune97.0ms (0.5%)

Pruning

27 alts after pruning (18 fresh and 9 done)

PrunedKeptTotal
New3738381
Fresh51015
Picked101
Done099
Total37927406
Error
0b
Counts
406 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
21.9b
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1)))
27.2b
(-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z))
31.3b
(+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)
47.5b
x
25.7b
(+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b))
45.9b
(*.f64 a (-.f64 1 t))
56.2b
(*.f64 -2 b)
43.7b
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a))
42.5b
(-.f64 x (*.f64 z y))
57.7b
(*.f64 z (neg.f64 y))
33.5b
(-.f64 x (*.f64 z (-.f64 y 1)))
39.6b
(-.f64 x (*.f64 -1 a))
53.6b
(*.f64 t (neg.f64 a))
43.7b
(-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1)))
57.8b
(*.f64 b t)
52.6b
(+.f64 (*.f64 b y) (*.f64 (neg.f64 z) y))
52.6b
(*.f64 y (-.f64 b z))
38.6b
(+.f64 z x)
57.5b
(*.f64 b y)
38.6b
(-.f64 x (*.f64 t a))
51.2b
(*.f64 (-.f64 y 2) b)
31.3b
(fma.f64 (+.f64 y (+.f64 t -2)) b x)
30.6b
(-.f64 x (-.f64 (neg.f64 a) z))
53.8b
z
37.4b
(-.f64 (*.f64 (-.f64 y 2) b) (*.f64 z (-.f64 y 1)))
51.4b
(*.f64 b (-.f64 t 2))
48.7b
(-.f64 z (*.f64 y z))
Compiler

Compiled 325 to 249 computations (23.4% saved)

regimes727.0ms (4%)

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

6 calls:

252.0ms
x
135.0ms
y
113.0ms
z
98.0ms
b
77.0ms
t
Results
ErrorSegmentsBranch
17.3b6x
14.3b7y
13.1b5z
13.0b5t
13.3b3a
14.3b7b
Compiler

Compiled 211 to 126 computations (40.3% saved)

bsearch150.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
2916.315739342115
151811.30358731226
56.0ms
6.410991055704619e-116
1.2503500429360544e-108
31.0ms
1.0679795993739348e-225
5.913457373526676e-223
31.0ms
-1.5999351883990136e+40
-4.785060634090287e+38
Compiler

Compiled 36 to 27 computations (25% saved)

regimes700.0ms (3.9%)

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

6 calls:

184.0ms
x
123.0ms
y
117.0ms
z
112.0ms
b
87.0ms
a
Results
ErrorSegmentsBranch
15.3b12x
16.4b6y
16.0b6z
15.4b4t
16.1b5a
14.9b7b
Compiler

Compiled 190 to 114 computations (40% saved)

bsearch406.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
200.0ms
1.091992425686953e+62
2.7144176852838105e+72
53.0ms
1.806003588238974e-71
1.2523353557905353e-69
31.0ms
2.0294780616480287e-103
8.018960833648352e-102
36.0ms
4.786870050354409e-299
4.1817219011102355e-296
41.0ms
-5.9559471691959226e-186
-5.240550815404825e-188
45.0ms
-54.95269838053092
-9.221595079074506e-7
Compiler

Compiled 376 to 277 computations (26.3% saved)

regimes428.0ms (2.4%)

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

6 calls:

92.0ms
y
83.0ms
a
76.0ms
x
70.0ms
t
62.0ms
b
Results
ErrorSegmentsBranch
21.1b6x
21.0b8y
22.7b3z
19.3b6t
16.9b7a
20.5b5b
Compiler

Compiled 179 to 108 computations (39.7% saved)

bsearch257.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
93.0ms
1.604779261854079e+166
1.7707945854981008e+172
32.0ms
2.900856420031732e-194
1.4083976234536662e-190
32.0ms
2.551762021893823e-271
3.0388623601802274e-269
32.0ms
-1.0412127176822209e-215
-2.279005351007317e-216
34.0ms
-2.3331988442633054e-167
-8.704034286399084e-168
33.0ms
-1.8426532857969448e+28
-8.442727621979952e+27
Compiler

Compiled 297 to 234 computations (21.2% saved)

regimes475.0ms (2.6%)

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

6 calls:

130.0ms
a
91.0ms
y
87.0ms
t
63.0ms
b
60.0ms
x
Results
ErrorSegmentsBranch
24.9b5x
22.1b8y
22.7b3z
20.2b7t
16.6b10a
20.9b5b
Compiler

Compiled 158 to 96 computations (39.2% saved)

bsearch344.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
87.0ms
1.604779261854079e+166
1.7707945854981008e+172
31.0ms
29.274290580877597
4061.02083506581
32.0ms
1.012855454405422e-144
1.9326540674348602e-141
31.0ms
8.607889128858485e-169
7.818304486030865e-164
31.0ms
2.551762021893823e-271
3.0388623601802274e-269
34.0ms
-5.4926942540199806e-278
-2.1611058037107756e-282
32.0ms
-1.0412127176822209e-215
-2.279005351007317e-216
32.0ms
-2.3331988442633054e-167
-8.704034286399084e-168
33.0ms
-1.8426532857969448e+28
-8.442727621979952e+27
Compiler

Compiled 261 to 207 computations (20.7% saved)

regimes374.0ms (2.1%)

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

6 calls:

89.0ms
t
81.0ms
z
74.0ms
b
60.0ms
y
33.0ms
x
Results
ErrorSegmentsBranch
27.3b3x
23.8b6y
24.5b7z
19.9b9t
23.6b3a
23.9b7b
Compiler

Compiled 149 to 91 computations (38.9% saved)

bsearch268.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
831441.7102027182
7031967114.123438
31.0ms
3.3058393724601264e-285
2.1564517825815376e-284
32.0ms
-1.3523958354620057e-250
-3.1113117540645836e-254
32.0ms
-3.4882689135838257e-230
-5.243016373521411e-231
32.0ms
-3.2352339306147185e-221
-5.305884555320003e-222
45.0ms
-3.1488478664116253e-168
-1.2575424622395236e-169
31.0ms
-5.928484976876344e-27
-1.75278588784042e-30
33.0ms
-1.5999351883990136e+40
-4.785060634090287e+38
Compiler

Compiled 36 to 27 computations (25% saved)

regimes339.0ms (1.9%)

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

6 calls:

79.0ms
x
71.0ms
t
65.0ms
b
42.0ms
z
40.0ms
y
Results
ErrorSegmentsBranch
24.8b7x
25.6b4y
27.0b4z
22.4b7t
23.6b3a
25.3b5b
Compiler

Compiled 140 to 85 computations (39.3% saved)

bsearch185.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
831441.7102027182
7031967114.123438
31.0ms
-3.4882689135838257e-230
-5.243016373521411e-231
30.0ms
-3.2352339306147185e-221
-5.305884555320003e-222
31.0ms
-1.9080861308979917e-156
-1.2557811553259526e-156
31.0ms
-3.0663959499885217e-83
-1.1985188293096451e-91
30.0ms
-8.511935691559604e+33
-8.338265370437775e+30
Compiler

Compiled 36 to 27 computations (25% saved)

regimes518.0ms (2.9%)

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

6 calls:

253.0ms
x
72.0ms
t
65.0ms
b
58.0ms
y
40.0ms
z
Results
ErrorSegmentsBranch
26.2b12x
28.7b7y
29.8b5z
26.3b9t
27.8b3a
28.9b8b
Compiler

Compiled 110 to 71 computations (35.5% saved)

bsearch612.0ms (3.4%)

Algorithm
11×binary-search
Steps
TimeLeftRight
31.0ms
4.979418264783029e+196
5.979073883403155e+198
32.0ms
7.73874449609612e+106
2.305289575467548e+115
84.0ms
0.8745680873397529
0.9655927970511837
45.0ms
2.1637418200907455e-9
7.239235790576749e-9
34.0ms
8.797173011027828e-53
1.3738169127061003e-52
31.0ms
5.361786587318497e-191
1.1653055449965185e-181
118.0ms
-3.4904607590011354e-231
-2.9795817517081662e-235
63.0ms
-1.1140655086702975e-159
-1.0028157166269523e-161
31.0ms
-6.432191492546112e-90
-7.64665919652738e-95
31.0ms
-1.008545031922205e-77
-3.166757176037048e-81
110.0ms
-4.908571517904543e-10
-2.67120657552258e-10
Compiler

Compiled 36 to 27 computations (25% saved)

regimes614.0ms (3.4%)

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

6 calls:

145.0ms
t
131.0ms
b
108.0ms
a
98.0ms
x
70.0ms
y
Results
ErrorSegmentsBranch
30.3b9x
29.9b5y
29.8b5z
26.3b9t
30.5b4a
29.9b7b
Compiler

Compiled 105 to 68 computations (35.2% saved)

bsearch346.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
2.7472433807280564e-27
4.964857581765274e-22
33.0ms
2.8015929858970816e-221
1.3711240020147655e-217
33.0ms
3.521420401100466e-239
9.257217621675598e-238
38.0ms
-2.69051687500648e-303
-2.0979831251585485e-305
63.0ms
-3.2352339306147185e-221
-5.305884555320003e-222
60.0ms
-3.1488478664116253e-168
-1.2575424622395236e-169
31.0ms
-3.106378692354201e-75
-3.0663959499885217e-83
54.0ms
-3179.6749671733455
-2.316290388534754e-19
Compiler

Compiled 36 to 27 computations (25% saved)

regimes424.0ms (2.4%)

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

6 calls:

170.0ms
x
66.0ms
z
59.0ms
b
59.0ms
t
43.0ms
y
Results
ErrorSegmentsBranch
30.4b10x
29.9b5y
31.0b5z
29.9b6t
33.6b3a
30.1b7b
Compiler

Compiled 95 to 63 computations (33.7% saved)

bsearch136.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
506079796276037.4
9.197617028802874e+40
34.0ms
-1.7450287997095854e-185
-7.310299985834805e-187
33.0ms
-6.169352425639303e-80
-2.103158134950079e-80
35.0ms
-2.988850179617078e-45
-1.5387805466222065e-45
Compiler

Compiled 36 to 27 computations (25% saved)

regimes336.0ms (1.9%)

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

6 calls:

73.0ms
x
72.0ms
b
59.0ms
a
49.0ms
y
41.0ms
t
Results
ErrorSegmentsBranch
30.4b10x
30.7b7y
31.0b5z
29.9b6t
33.6b3a
30.1b7b
Compiler

Compiled 90 to 61 computations (32.2% saved)

bsearch159.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
831441.7102027182
7031967114.123438
31.0ms
-3.4882689135838257e-230
-5.243016373521411e-231
32.0ms
-3.2352339306147185e-221
-5.305884555320003e-222
33.0ms
-3.1488478664116253e-168
-1.2575424622395236e-169
32.0ms
-1.75278588784042e-30
-1.004987139787051e-30
Compiler

Compiled 36 to 27 computations (25% saved)

regimes318.0ms (1.8%)

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

6 calls:

74.0ms
y
61.0ms
x
57.0ms
t
49.0ms
b
43.0ms
z
Results
ErrorSegmentsBranch
34.1b4x
32.9b8y
35.8b5z
32.4b9t
34.8b3a
32.0b5b
Compiler

Compiled 85 to 59 computations (30.6% saved)

bsearch268.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
53.0ms
1.3110229640825212e-12
1.4365110480132014e-8
31.0ms
7.932072411628089e-27
9.887511769989365e-27
32.0ms
2.572648219310054e-62
1.627175878828333e-58
151.0ms
-1.4734104756830015e+32
-3749703044341639.0
Compiler

Compiled 36 to 27 computations (25% saved)

regimes186.0ms (1%)

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

6 calls:

53.0ms
y
39.0ms
b
30.0ms
t
30.0ms
x
20.0ms
a
Results
ErrorSegmentsBranch
34.2b4x
32.9b8y
38.6b1z
35.8b5t
34.8b3a
32.7b5b
Compiler

Compiled 80 to 56 computations (30% saved)

bsearch197.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
47.0ms
1.3110229640825212e-12
1.4365110480132014e-8
66.0ms
7.932072411628089e-27
9.887511769989365e-27
34.0ms
2.572648219310054e-62
1.627175878828333e-58
49.0ms
-2.9733329038496956e+191
-1.7562571504573602e+186
Compiler

Compiled 234 to 189 computations (19.2% saved)

regimes178.0ms (1%)

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

6 calls:

60.0ms
b
36.0ms
t
29.0ms
a
24.0ms
y
19.0ms
x
Results
ErrorSegmentsBranch
35.5b3x
34.9b4y
38.6b1z
35.8b5t
34.8b3a
33.2b7b
Compiler

Compiled 75 to 53 computations (29.3% saved)

bsearch305.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
42.0ms
1.0294353497248386e+225
1.6087851604636772e+236
95.0ms
3.662490732197169e+136
4.54319402382013e+140
42.0ms
1.3110229640825212e-12
1.4365110480132014e-8
31.0ms
7.932072411628089e-27
9.887511769989365e-27
32.0ms
2.572648219310054e-62
1.627175878828333e-58
46.0ms
-2.9733329038496956e+191
-1.7562571504573602e+186
Compiler

Compiled 576 to 478 computations (17% saved)

regimes160.0ms (0.9%)

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

6 calls:

38.0ms
t
33.0ms
x
30.0ms
a
28.0ms
b
23.0ms
y
Results
ErrorSegmentsBranch
37.4b3x
34.9b4y
38.6b1z
35.8b5t
34.8b3a
34.4b5b
Compiler

Compiled 70 to 51 computations (27.1% saved)

bsearch153.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
40.0ms
1.0294353497248386e+225
1.6087851604636772e+236
31.0ms
9.887511769989365e-27
1.669629237590086e-23
33.0ms
2.572648219310054e-62
1.627175878828333e-58
48.0ms
-2.9733329038496956e+191
-1.7562571504573602e+186
Compiler

Compiled 416 to 350 computations (15.9% saved)

regimes70.0ms (0.4%)

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

6 calls:

24.0ms
t
15.0ms
b
10.0ms
y
6.0ms
z
6.0ms
x
Results
ErrorSegmentsBranch
38.6b1x
37.1b2y
38.6b1z
36.6b5t
38.6b1a
35.4b3b
Compiler

Compiled 62 to 47 computations (24.2% saved)

bsearch87.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
41.0ms
1.0294353497248386e+225
1.6087851604636772e+236
46.0ms
-2.9733329038496956e+191
-1.7562571504573602e+186
Compiler

Compiled 416 to 350 computations (15.9% saved)

regimes56.0ms (0.3%)

Counts
5 → 5
Calls
Call 1
Inputs
z
x
(*.f64 b y)
(+.f64 z x)
(*.f64 b t)
Outputs
(+.f64 z x)
(*.f64 b t)
(+.f64 z x)
(*.f64 b t)
x
Calls

6 calls:

23.0ms
t
10.0ms
y
5.0ms
a
5.0ms
x
5.0ms
b
Results
ErrorSegmentsBranch
38.6b1x
37.1b2y
38.6b1z
36.6b5t
38.6b1a
38.6b1b
Compiler

Compiled 59 to 45 computations (23.7% saved)

bsearch220.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
3.7675554977434736e+305
1.4032517583277473e+308
15.0ms
7.630946571031916e+210
1.434576583256946e+211
133.0ms
-8.587636820394426e+95
-4.211579186340038e+85
40.0ms
-3.359178499392055e+183
-3.0563133687722922e+181
Compiler

Compiled 600 to 483 computations (19.5% saved)

regimes35.0ms (0.2%)

Counts
4 → 2
Calls
Call 1
Inputs
z
x
(*.f64 b y)
(+.f64 z x)
Outputs
(+.f64 z x)
(*.f64 b y)
Calls

6 calls:

9.0ms
y
6.0ms
t
5.0ms
a
5.0ms
b
4.0ms
x
Results
ErrorSegmentsBranch
38.6b1x
37.1b2y
38.6b1z
38.6b1t
38.6b1a
38.6b1b
Compiler

Compiled 56 to 44 computations (21.4% saved)

bsearch89.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
89.0ms
6.2676329271459944e+60
9.942746492509998e+61
Compiler

Compiled 156 to 123 computations (21.2% saved)

regimes74.0ms (0.4%)

Accuracy

Total -22.2b remaining (-54.4%)

Threshold costs -22.2b (-54.4%)

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

6 calls:

22.0ms
y
15.0ms
z
13.0ms
x
11.0ms
t
8.0ms
a
Results
ErrorSegmentsBranch
40.8b3x
42.6b6y
42.2b3z
46.3b3t
46.3b2a
47.5b1b
Compiler

Compiled 53 to 43 computations (18.9% saved)

bsearch70.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
3.162751807186277e+44
3.3608175545561235e+55
35.0ms
-4584861104611533300.0
-5882750606.519803
Compiler

Compiled 36 to 27 computations (25% saved)

simplify127.0ms (0.7%)

Algorithm
egg-herbie
Rules
129×cancel-sign-sub-inv_binary64
123×distribute-rgt-neg-in_binary64
78×distribute-lft-neg-out_binary64
77×distribute-lft-neg-in_binary64
73×neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02771441
13491405
24191405
34931405
46041405
56821405
67421405
77901405
88431405
99001405
109641405
1110231405
1210871405
1311501405
1412051405
1512211405
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 t 7121303382646642/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b))))))
(if (<=.f64 b -3866952374211911/70368744177664) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b -116709960745322992/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 8981675494706942/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 a 2441423840039360512/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (*.f64 a (-.f64 1 t))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 a (-.f64 1 t)))))))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -471927708800262976/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a))))))))
(if (<=.f64 x -4747279076335819/9671406556917033397649408) (-.f64 x (*.f64 t a)) (if (<=.f64 x -5259372835274097/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 b (-.f64 t 2)) (if (<=.f64 x -59008889143750480/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 y (-.f64 b z)) (if (<=.f64 x -8817352624856419/7914572847139345089936080672628710081124203171238778877250017794972711203409019749450124833959777439667125485632516458859243681097816038718961476963260581373331416708758372352) (*.f64 a (-.f64 1 t)) (if (<=.f64 x -3050627755988791/873989987746428259412194333913416701987357762822590714399458303903535888835232670878457161432636363996257309241302481691723537010408733419813385804491106555801784494262060916206872597091033287849274902594962928694944169726768114734355431735427072) (*.f64 (-.f64 y 2) b) (if (<=.f64 x 1075886769271643/20065826040452474621738395244141115820123061381619162977212070095324448220432589806036630768881181530864650607514107580997541169167266097500334986765487216377087492641938951866881041556870737904629872328704) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 4743426303980145/53919893334301279589334030174039261347274288845081144962207220498432) (-.f64 z (*.f64 y z)) (if (<=.f64 x 1307901676643827/604462909807314587353088) (-.f64 x (*.f64 t a)) (if (<=.f64 x 16132933682190084096/18446744073709551616) (-.f64 z (*.f64 y z)) (if (<=.f64 x 77387444960961195054143108871215036933805435381328695698480145791627490923557546837116516814352772872798208) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 49794182647830287688697157720815387484676887762239202682054373234483690541587714692515618537161045510686087340432550246804454792304042310051577505332319730502896656296597390390634519967965070229504) (-.f64 x (*.f64 t a)) (+.f64 z x))))))))))))
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (-.f64 x (*.f64 -1 a)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 y -4802897062216999/1606938044258990275541962092341162602522202993782792835301376) (-.f64 x (*.f64 t a)) (if (<=.f64 y -131776568011927712/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 b (-.f64 t 2)) (if (<=.f64 y -341947698540548096/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (-.f64 x (*.f64 t a)) (if (<=.f64 y 4048638370208299/8) (+.f64 z x) (*.f64 y (-.f64 b z))))))
(if (<=.f64 t -2561699444969274368/1461501637330902918203684832716283019655932542976) (-.f64 x (*.f64 t a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 z x) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (+.f64 z x) (-.f64 x (*.f64 t a)))))))
(if (<=.f64 b -147341047568300151231422966792192) (*.f64 (-.f64 y 2) b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b (-.f64 t 2)) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (if (<=.f64 b 37000000000000001008557821853629577750045931195064682787579133345235758228802407311876238916878618698934503414608903601537740395646025728) (*.f64 b t) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b)))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 6890590019687667/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b)))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b)))
(if (<=.f64 t -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (+.f64 z x) (if (<=.f64 t -850000000000000024596740969270791447398224915288230182576389346377799502773725039461333450358784) (*.f64 b t) (if (<=.f64 t 13999999999999999855581552454285960023486302440584291807924828886544231683055815344040644936592592831832869934748688494214455139984565754717568158483286513913468982798712029670188107984671825008191110663660109824) (+.f64 z x) (if (<=.f64 t 380000000000000015897605997703851952095060465865211591726156750090311880866128717159840514848443704303060796014175199459210918287854841893985639816765317731761466640034530097685683789446064873905219974457059554176110681853804745135805257967824601875588603788785040202754444178889256663086160725196905906176) (*.f64 b t) x))))
(if (<=.f64 y 98000000000000005030673108054973016370438997225780141841448960) (+.f64 z x) (*.f64 b y))
(if (<=.f64 x -4584861104611533312) x (if (<=.f64 x 316275180718627704465155828100411226998177792) z x))
z
Outputs
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 t 7121303382646642/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (*.f64 z (-.f64 y 1))) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 t 3560651691323321/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 t 3560651691323321/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 x (+.f64 a z)) (if (<=.f64 t 1603261532836409/549755813888) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (+.f64 y -1))) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 t 3560651691323321/3334007216439927137039925895360628898572379161157954080198128905882018618908816035760716100435777145371464955296716620222944400827059682540181678026165415023047578789757007279231539142955907012364482508067943300990845374018738230645581938688) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (-.f64 1 y))) (if (<=.f64 t 2844089697509089/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 x (+.f64 a z)) (if (<=.f64 t 1603261532836409/549755813888) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (*.f64 z (-.f64 1 y))) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b))))))
(if (<=.f64 b -3866952374211911/70368744177664) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b -116709960745322992/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (if (<=.f64 b 8981675494706942/497323236409786642155382248146820840100456150797347717440463976893159497012533375533056) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (-.f64 t 1) a)) (*.f64 t b)) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x)))))))
(if (<=.f64 b -3866952374211911/70368744177664) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (if (<=.f64 b -7294372546582687/1224720827664335609236962600350409901130557945655466490308353887654080091579137561403602952202220552420938147431280980285494456125931768646260680344573194358953094033321469230156313571586348749061881856) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 4490837747353471/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2)))))))))
(if (<=.f64 b -3866952374211911/70368744177664) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (if (<=.f64 b -7294372546582687/1224720827664335609236962600350409901130557945655466490308353887654080091579137561403602952202220552420938147431280980285494456125931768646260680344573194358953094033321469230156313571586348749061881856) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 2255833904447527/47125446914534694131579097993419809976955095716785201420286055195012674566357244479460731079205201122720511132925006540350105785156086431086764996857554304860885586653967937772270969055149056096849908977391371752266308172471982589601097478449614615258949356272900190565812730839296826751014759649673012612226351104) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 b 4094233966617717/20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089792) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (if (<=.f64 b 4490837747353471/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (if (<=.f64 b 2700000000000000064040261715662493021809766571119019488687602912003620864) (+.f64 (-.f64 x (*.f64 (+.f64 t -1) a)) (*.f64 t b)) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y))))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (if (<=.f64 a 2441423840039360512/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 (+.f64 (*.f64 b (+.f64 y -2)) x) (neg.f64 z)) (*.f64 a (-.f64 1 t))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (if (<=.f64 a 1192101484394219/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 (+.f64 x (*.f64 b (+.f64 y -2))) (neg.f64 z)) (*.f64 a (-.f64 1 t))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (if (<=.f64 a 1192101484394219/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (+.f64 (+.f64 x (*.f64 b (+.f64 y -2))) z) (*.f64 a (-.f64 1 t))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -24785011019688256/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a -16165015821352382/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 2486772218572026368/9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 y b) (*.f64 z (-.f64 y 1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 (*.f64 (-.f64 (+.f64 y t) 2) b) x) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 a (-.f64 1 t)))))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 b y) (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 x (*.f64 b (+.f64 (+.f64 t y) -2))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (-.f64 x (-.f64 (neg.f64 a) z)) (*.f64 a (-.f64 1 t)))))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (-.f64 (*.f64 b y) (*.f64 z (+.f64 y -1))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (+.f64 x (+.f64 a z)) (*.f64 a (-.f64 1 t)))))))))))
(if (<=.f64 a -18426532857969447836514779136) (*.f64 a (-.f64 1 t)) (if (<=.f64 a -387265797182629/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a -8082507910676191/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a -2192508120024563/39916806190694396233127454260736771321349025208709150830050944848744237837379281315699159309852714021786848936883849904879448759767871873214783435965696628406400113459021713530350754428887259743653067134890878479866616209102417407777777105368960883150142418137515120832847169904606880198557696) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 4856976989398489/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 a 7315163126865865/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 7119920899535735/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (+.f64 (*.f64 b y) (*.f64 z (-.f64 1 y))) (if (<=.f64 a 4119990129736749/140737488355328) (+.f64 x (*.f64 b (+.f64 -2 (+.f64 t y)))) (if (<=.f64 a 17499999999999998872726227450372898315550685033493955362533197486717646417121077081823586638092784773295221876370256838124510845154877838303336760171445033185627447771529216) (+.f64 x (+.f64 a z)) (*.f64 a (-.f64 1 t)))))))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (-.f64 y 1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (-.f64 (*.f64 (-.f64 y 2) b) (*.f64 -1 a)) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (-.f64 (*.f64 b (+.f64 y -2)) (neg.f64 a)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (-.f64 (*.f64 b (+.f64 y -2)) (neg.f64 a)) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (-.f64 (*.f64 b (+.f64 y -2)) (neg.f64 a)) (if (<=.f64 t 446376869231373/536870912) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 t -15999351883990135915017605607007398658048) (-.f64 x (*.f64 t a)) (if (<=.f64 t -4131551027582377/696898287454081973172991196020261297061888) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (+.f64 a (*.f64 b (+.f64 y -2))) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x (+.f64 a z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (+.f64 a (*.f64 b (+.f64 y -2))) (if (<=.f64 t -4360738060334635/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (-.f64 x (*.f64 z (+.f64 y -1))) (if (<=.f64 t 8855588353915685/2678771517965668302371062622650004526403512029263834018609375970925877627812340306232995947039239645318986682293882867062967863214230785108996144393674643700983641943706057746355268651265592785469488545538261618745895485316849691889791385986519265728642799119421635541915107457913156096709301417017344) (+.f64 a (*.f64 b (+.f64 y -2))) (if (<=.f64 t 446376869231373/536870912) (+.f64 x (+.f64 a z)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -471927708800262976/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a))))))))
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -7373870450004109/3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (-.f64 (neg.f64 a) z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 446376869231373/536870912) (-.f64 x (-.f64 (neg.f64 a) z)) (-.f64 x (*.f64 t a))))))))
(if (<=.f64 t -8511935691559604235658659062874112) (-.f64 x (*.f64 t a)) (if (<=.f64 t -2095930238776277/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (+.f64 x (+.f64 a z)) (if (<=.f64 t -7373870450004109/3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x (+.f64 a z)) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 446376869231373/536870912) (+.f64 x (+.f64 a z)) (-.f64 x (*.f64 t a))))))))
(if (<=.f64 x -4747279076335819/9671406556917033397649408) (-.f64 x (*.f64 t a)) (if (<=.f64 x -5259372835274097/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 b (-.f64 t 2)) (if (<=.f64 x -59008889143750480/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 y (-.f64 b z)) (if (<=.f64 x -8817352624856419/7914572847139345089936080672628710081124203171238778877250017794972711203409019749450124833959777439667125485632516458859243681097816038718961476963260581373331416708758372352) (*.f64 a (-.f64 1 t)) (if (<=.f64 x -3050627755988791/873989987746428259412194333913416701987357762822590714399458303903535888835232670878457161432636363996257309241302481691723537010408733419813385804491106555801784494262060916206872597091033287849274902594962928694944169726768114734355431735427072) (*.f64 (-.f64 y 2) b) (if (<=.f64 x 1075886769271643/20065826040452474621738395244141115820123061381619162977212070095324448220432589806036630768881181530864650607514107580997541169167266097500334986765487216377087492641938951866881041556870737904629872328704) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 4743426303980145/53919893334301279589334030174039261347274288845081144962207220498432) (-.f64 z (*.f64 y z)) (if (<=.f64 x 1307901676643827/604462909807314587353088) (-.f64 x (*.f64 t a)) (if (<=.f64 x 16132933682190084096/18446744073709551616) (-.f64 z (*.f64 y z)) (if (<=.f64 x 77387444960961195054143108871215036933805435381328695698480145791627490923557546837116516814352772872798208) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 49794182647830287688697157720815387484676887762239202682054373234483690541587714692515618537161045510686087340432550246804454792304042310051577505332319730502896656296597390390634519967965070229504) (-.f64 x (*.f64 t a)) (+.f64 z x))))))))))))
(if (<=.f64 x -4747279076335819/9671406556917033397649408) (-.f64 x (*.f64 t a)) (if (<=.f64 x -5259372835274097/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 b (+.f64 t -2)) (if (<=.f64 x -3688055571484405/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656) (*.f64 y (-.f64 b z)) (if (<=.f64 x -8817352624856419/7914572847139345089936080672628710081124203171238778877250017794972711203409019749450124833959777439667125485632516458859243681097816038718961476963260581373331416708758372352) (*.f64 a (-.f64 1 t)) (if (<=.f64 x -3050627755988791/873989987746428259412194333913416701987357762822590714399458303903535888835232670878457161432636363996257309241302481691723537010408733419813385804491106555801784494262060916206872597091033287849274902594962928694944169726768114734355431735427072) (*.f64 b (+.f64 y -2)) (if (<=.f64 x 1075886769271643/20065826040452474621738395244141115820123061381619162977212070095324448220432589806036630768881181530864650607514107580997541169167266097500334986765487216377087492641938951866881041556870737904629872328704) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 4743426303980145/53919893334301279589334030174039261347274288845081144962207220498432) (-.f64 z (*.f64 y z)) (if (<=.f64 x 1307901676643827/604462909807314587353088) (-.f64 x (*.f64 t a)) (if (<=.f64 x 7877409024506877/9007199254740992) (-.f64 z (*.f64 y z)) (if (<=.f64 x 77387444960961195054143108871215036933805435381328695698480145791627490923557546837116516814352772872798208) (*.f64 a (-.f64 1 t)) (if (<=.f64 x 49794182647830287688697157720815387484676887762239202682054373234483690541587714692515618537161045510686087340432550246804454792304042310051577505332319730502896656296597390390634519967965070229504) (-.f64 x (*.f64 t a)) (+.f64 x z))))))))))))
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (-.f64 x (*.f64 -1 a)) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (-.f64 x (*.f64 -1 a)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (-.f64 x (neg.f64 a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (-.f64 x (neg.f64 a)) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (-.f64 x (neg.f64 a)) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (-.f64 x (neg.f64 a)) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 t -6992179197910729/2199023255552) (-.f64 x (*.f64 t a)) (if (<=.f64 t -197743911013887/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (+.f64 x a) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x a) (if (<=.f64 t -2077357017756101/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 4130800456649679/117304950450073441093299338992332138457996243649210992760592177980666118165925495436678284352817677825758656549761022853424729541660972550965022826666248518125620733165482852770884817967017897067499683873717228533661411547573197142488509591988118713532416) (+.f64 x a) (if (<=.f64 t 1425251958085381/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (-.f64 z (*.f64 y z)) (if (<=.f64 t 1914549207248945/696898287454081973172991196020261297061888) (+.f64 x a) (-.f64 x (*.f64 t a))))))))))
(if (<=.f64 y -4802897062216999/1606938044258990275541962092341162602522202993782792835301376) (-.f64 x (*.f64 t a)) (if (<=.f64 y -131776568011927712/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (*.f64 b (-.f64 t 2)) (if (<=.f64 y -341947698540548096/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (-.f64 x (*.f64 t a)) (if (<=.f64 y 4048638370208299/8) (+.f64 z x) (*.f64 y (-.f64 b z))))))
(if (<=.f64 y -4802897062216999/1606938044258990275541962092341162602522202993782792835301376) (-.f64 x (*.f64 t a)) (if (<=.f64 y -4118017750372741/66749594872528440074844428317798503581334516323645399060845050244444366430645017188217565216768) (*.f64 b (+.f64 t -2)) (if (<=.f64 y -83483324839001/4784065733063810973581885157618788676291241975216665977767007373648750357731006099232824032039924032894289638403441329240212719241920971274455782595989040464660523567661989180298099889009174801022976) (-.f64 x (*.f64 t a)) (if (<=.f64 y 4048638370208299/8) (+.f64 x z) (*.f64 y (-.f64 b z))))))
(if (<=.f64 t -2561699444969274368/1461501637330902918203684832716283019655932542976) (-.f64 x (*.f64 t a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 (-.f64 y 2) b) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 z x) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 (-.f64 y 2) b) (if (<=.f64 t 3571014953850984/4294967296) (+.f64 z x) (-.f64 x (*.f64 t a)))))))
(if (<=.f64 t -2501659614227807/1427247692705959881058285969449495136382746624) (-.f64 x (*.f64 t a)) (if (<=.f64 t -6689890941804921/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 b (+.f64 y -2)) (if (<=.f64 t -6583430951868153/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (+.f64 x z) (if (<=.f64 t -1905445065649609/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 b (+.f64 y -2)) (if (<=.f64 t 446376869231373/536870912) (+.f64 x z) (-.f64 x (*.f64 t a)))))))
(if (<=.f64 b -147341047568300151231422966792192) (*.f64 (-.f64 y 2) b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2))))))
(if (<=.f64 b -147341047568300151231422966792192) (*.f64 b (+.f64 y -2)) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 25358872182193/19342813113834066795298816) (-.f64 z (*.f64 y z)) (*.f64 b (+.f64 t -2))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b (-.f64 t 2)) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (*.f64 b (-.f64 t 2))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b (+.f64 t -2)) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 25358872182193/19342813113834066795298816) (-.f64 z (*.f64 y z)) (*.f64 b (+.f64 t -2))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 103869940458262528/79228162514264337593543950336) (-.f64 z (*.f64 y z)) (if (<=.f64 b 37000000000000001008557821853629577750045931195064682787579133345235758228802407311876238916878618698934503414608903601537740395646025728) (*.f64 b t) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b)))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b -2) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 5527847679625385/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 25358872182193/19342813113834066795298816) (-.f64 z (*.f64 y z)) (if (<=.f64 b 37000000000000001008557821853629577750045931195064682787579133345235758228802407311876238916878618698934503414608903601537740395646025728) (*.f64 t b) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 x z) (*.f64 b -2)))))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 2978923121865724/115792089237316195423570985008687907853269984665640564039457584007913129639936) (+.f64 z x) (if (<=.f64 b 6890590019687667/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b)))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b -2) (if (<=.f64 b 744730780466431/28948022309329048855892746252171976963317496166410141009864396001978282409984) (+.f64 x z) (if (<=.f64 b 6890590019687667/696898287454081973172991196020261297061888) (*.f64 t (neg.f64 a)) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 x z) (*.f64 b -2)))))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 -2 b) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 z x) (*.f64 -2 b)))
(if (<=.f64 b -1760000000000000060739435812437997318532345108585324915112215772025984246853468839951640302393307547143184584597332495990825377962930458694400221338734030536716300421374898635040081575936) (*.f64 b -2) (if (<=.f64 b 160000000000000008506563146025543845696542313203921615573711567792702264356674649513520068661588878544411546909000193503407207122208858461970707460944326462027186726357347576215196010940205331699767420536466369075379790889125746210504704) (+.f64 x z) (*.f64 b -2)))
(if (<=.f64 t -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (+.f64 z x) (if (<=.f64 t -850000000000000024596740969270791447398224915288230182576389346377799502773725039461333450358784) (*.f64 b t) (if (<=.f64 t 13999999999999999855581552454285960023486302440584291807924828886544231683055815344040644936592592831832869934748688494214455139984565754717568158483286513913468982798712029670188107984671825008191110663660109824) (+.f64 z x) (if (<=.f64 t 380000000000000015897605997703851952095060465865211591726156750090311880866128717159840514848443704303060796014175199459210918287854841893985639816765317731761466640034530097685683789446064873905219974457059554176110681853804745135805257967824601875588603788785040202754444178889256663086160725196905906176) (*.f64 b t) x))))
(if (<=.f64 t -30999999999999998904638608932969622982155091030250318048362208305286811988399558162205597385636494640609239417259299346998803994055143086354010813314883855630282430499123311142764544) (+.f64 x z) (if (<=.f64 t -850000000000000024596740969270791447398224915288230182576389346377799502773725039461333450358784) (*.f64 t b) (if (<=.f64 t 13999999999999999855581552454285960023486302440584291807924828886544231683055815344040644936592592831832869934748688494214455139984565754717568158483286513913468982798712029670188107984671825008191110663660109824) (+.f64 x z) (if (<=.f64 t 380000000000000015897605997703851952095060465865211591726156750090311880866128717159840514848443704303060796014175199459210918287854841893985639816765317731761466640034530097685683789446064873905219974457059554176110681853804745135805257967824601875588603788785040202754444178889256663086160725196905906176) (*.f64 t b) x))))
(if (<=.f64 y 98000000000000005030673108054973016370438997225780141841448960) (+.f64 z x) (*.f64 b y))
(if (<=.f64 y 98000000000000005030673108054973016370438997225780141841448960) (+.f64 x z) (*.f64 b y))
(if (<=.f64 x -4584861104611533312) x (if (<=.f64 x 316275180718627704465155828100411226998177792) z x))
z

end323.0ms (1.8%)

Stop Event
fuel
Compiler

Compiled 2066 to 1163 computations (43.7% saved)

Profiling

Loading profile data...