Details

Time bar (total: 9.6s)

analyze484.0ms (5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
9.4%90.4%0.2%10
14%85.2%0.8%11
19.1%79.1%1.8%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.7s (17.3%)

Results
1.3s8256×body256valid
326.0ms2527×body256invalid

preprocess95.0ms (1%)

Algorithm
egg-herbie
Rules
557×unsub-neg_binary64
522×associate-/l*_binary64
459×div-sub_binary64
408×associate-/r*_binary64
400×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03291
17091
214677
335577
486577
5228077
6398877
7765577
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
(+.f64 y (/.f64 (*.f64 x (-.f64 z y)) t))
(+.f64 z (/.f64 (*.f64 y (-.f64 x z)) t))
(+.f64 t (/.f64 (*.f64 y (-.f64 z t)) x))
(+.f64 x (/.f64 (*.f64 z (-.f64 y x)) t))
(+.f64 x (/.f64 (*.f64 t (-.f64 z x)) y))
(+.f64 x (/.f64 (*.f64 y (-.f64 t x)) z))
Outputs
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 y (/.f64 (*.f64 x (-.f64 z y)) t))
(+.f64 y (*.f64 (/.f64 x t) (-.f64 z y)))
(fma.f64 (/.f64 x t) (-.f64 z y) y)
(fma.f64 (-.f64 z y) (/.f64 x t) y)
(+.f64 z (/.f64 (*.f64 y (-.f64 x z)) t))
(+.f64 z (/.f64 y (/.f64 t (-.f64 x z))))
(fma.f64 (/.f64 y t) (-.f64 x z) z)
(fma.f64 (-.f64 x z) (/.f64 y t) z)
(fma.f64 y (/.f64 (-.f64 x z) t) z)
(+.f64 t (/.f64 (*.f64 y (-.f64 z t)) x))
(+.f64 t (/.f64 y (/.f64 x (-.f64 z t))))
(+.f64 t (*.f64 (/.f64 y x) (-.f64 z t)))
(fma.f64 (/.f64 y x) (-.f64 z t) t)
(fma.f64 (-.f64 z t) (/.f64 y x) t)
(fma.f64 y (/.f64 (-.f64 z t) x) t)
(+.f64 x (/.f64 (*.f64 z (-.f64 y x)) t))
(+.f64 x (/.f64 (-.f64 y x) (/.f64 t z)))
(fma.f64 (/.f64 z t) (-.f64 y x) x)
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(+.f64 x (/.f64 (*.f64 t (-.f64 z x)) y))
(+.f64 x (/.f64 t (/.f64 y (-.f64 z x))))
(+.f64 x (*.f64 (/.f64 t y) (-.f64 z x)))
(fma.f64 (/.f64 t y) (-.f64 z x) x)
(fma.f64 (-.f64 z x) (/.f64 t y) x)
(+.f64 x (/.f64 (*.f64 y (-.f64 t x)) z))
(+.f64 x (*.f64 (/.f64 y z) (-.f64 t x)))
(fma.f64 (/.f64 y z) (-.f64 t x) x)
(fma.f64 (-.f64 t x) (/.f64 y z) x)
(fma.f64 y (/.f64 (-.f64 t x) z) x)
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify94.0ms (1%)

Algorithm
egg-herbie
Rules
785×fma-def_binary64
657×fma-neg_binary64
206×cancel-sign-sub-inv_binary64
147×distribute-rgt-in_binary64
101×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0913
11513
23011
36411
415011
531311
655111
7101411
8197811
9291111
10344411
11349311
12352311
13352811
14352811
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
Outputs
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (*.f64 (/.f64 y t) (-.f64 z x)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)

eval1.0ms (0%)

Compiler

Compiled 21 to 10 computations (52.4% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 25 to 15 computations (40% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
0.0b
(*.f64 y (-.f64 z x))
7.0b
(/.f64 (*.f64 y (-.f64 z x)) t)
Compiler

Compiled 32 to 8 computations (75% saved)

series76.0ms (0.8%)

Counts
3 → 96
Calls

33 calls:

TimeVariablePointExpression
60.0ms
t
@0
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
1.0ms
x
@0
(/.f64 (*.f64 y (-.f64 z x)) t)
1.0ms
y
@0
(/.f64 (*.f64 y (-.f64 z x)) t)
1.0ms
z
@0
(/.f64 (*.f64 y (-.f64 z x)) t)
1.0ms
y
@inf
(/.f64 (*.f64 y (-.f64 z x)) t)

rewrite78.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
415×pow-prod-down_binary64
367×fma-def_binary64
296×pow2_binary64
205×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify145.0ms (1.5%)

Algorithm
egg-herbie
Rules
814×fma-def_binary64
767×fma-neg_binary64
209×cancel-sign-sub-inv_binary64
160×distribute-rgt-in_binary64
123×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0361380
1851206
2170864
3326864
4649864
51254864
62395864
73365864
83559864
93658864
103685864
113693864
123693864
Stop Event
saturated
Counts
238 → 166
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(/.f64 (*.f64 y z) t)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(/.f64 (neg.f64 (*.f64 y x)) t)
(/.f64 (*.f64 x (neg.f64 y)) t)
(*.f64 (neg.f64 y) (/.f64 x t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(/.f64 (neg.f64 (*.f64 y x)) t)
(/.f64 (*.f64 x (neg.f64 y)) t)
(*.f64 (neg.f64 y) (/.f64 x t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(/.f64 (neg.f64 (*.f64 y x)) t)
(/.f64 (*.f64 x (neg.f64 y)) t)
(*.f64 (neg.f64 y) (/.f64 x t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(*.f64 -1 (*.f64 y x))
(neg.f64 (*.f64 y x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(*.f64 y (-.f64 z x))
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(fma.f64 y (/.f64 (neg.f64 x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(fma.f64 y (/.f64 (neg.f64 x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(fma.f64 y (/.f64 (neg.f64 x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (neg.f64 (*.f64 y x)) t) (/.f64 (*.f64 y z) t))
(-.f64 (*.f64 (/.f64 y t) z) (/.f64 (*.f64 y x) t))
(*.f64 (/.f64 (-.f64 z x) t) y)
(/.f64 y (/.f64 t (-.f64 z x)))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 (+.f64 1 (neg.f64 (/.f64 y t))) x (/.f64 (*.f64 y z) t))
(fma.f64 x (-.f64 1 (/.f64 y t)) (*.f64 (/.f64 y t) z))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)

localize60.0ms (0.6%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 z x) t)
7.7b
(fma.f64 y (/.f64 (-.f64 z x) t) x)
Compiler

Compiled 24 to 7 computations (70.8% saved)

series12.0ms (0.1%)

Counts
2 → 72
Calls

21 calls:

TimeVariablePointExpression
2.0ms
y
@-inf
(fma.f64 y (/.f64 (-.f64 z x) t) x)
1.0ms
y
@0
(fma.f64 y (/.f64 (-.f64 z x) t) x)
1.0ms
z
@-inf
(fma.f64 y (/.f64 (-.f64 z x) t) x)
1.0ms
x
@-inf
(fma.f64 y (/.f64 (-.f64 z x) t) x)
1.0ms
z
@0
(fma.f64 y (/.f64 (-.f64 z x) t) x)

rewrite202.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
610×prod-diff_binary64
481×log-prod_binary64
308×pow-prod-down_binary64
258×pow2_binary64
211×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify132.0ms (1.4%)

Algorithm
egg-herbie
Rules
790×fma-def_binary64
715×fma-neg_binary64
203×cancel-sign-sub-inv_binary64
149×distribute-rgt-in_binary64
119×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036810
184807
2167690
3298636
4627636
51203636
62250636
73207636
83424636
93523636
103550636
113558636
123558636
Stop Event
saturated
Counts
286 → 236
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(*.f64 -1 (/.f64 x t))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(*.f64 -1 (/.f64 x t))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(*.f64 -1 (/.f64 x t))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
Outputs
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 -1 (/.f64 x t))
(neg.f64 (/.f64 x t))
(/.f64 (neg.f64 x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(*.f64 -1 (/.f64 x t))
(neg.f64 (/.f64 x t))
(/.f64 (neg.f64 x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(*.f64 -1 (/.f64 x t))
(neg.f64 (/.f64 x t))
(/.f64 (neg.f64 x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(-.f64 (/.f64 z t) (/.f64 x t))
(/.f64 (-.f64 z x) t)

eval163.0ms (1.7%)

Compiler

Compiled 9427 to 3169 computations (66.4% saved)

prune171.0ms (1.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New39111402
Fresh000
Picked101
Done101
Total39311404
Error
0b
Counts
404 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
25.4b
(+.f64 x (*.f64 (neg.f64 y) (/.f64 x t)))
44.6b
(/.f64 (*.f64 y z) t)
7.3b
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
45.4b
(*.f64 y (/.f64 z t))
22.0b
(-.f64 x (*.f64 x (/.f64 y t)))
8.1b
(+.f64 x (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))))
35.6b
(/.f64 (*.f64 y (-.f64 z x)) t)
32.1b
(*.f64 (-.f64 z x) (/.f64 y t))
7.1b
(fma.f64 (/.f64 1 t) (*.f64 y (-.f64 z x)) x)
32.3b
x
14.8b
(+.f64 x (/.f64 (*.f64 y z) t))
Compiler

Compiled 237 to 154 computations (35% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 12 computations (60% saved)

series6.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

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

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
491×log-prod_binary64
433×prod-diff_binary64
345×pow-prod-down_binary64
275×pow2_binary64
208×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify112.0ms (1.2%)

Algorithm
egg-herbie
Rules
762×fma-def_binary64
744×fma-neg_binary64
198×cancel-sign-sub-inv_binary64
149×distribute-rgt-in_binary64
116×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
033555
177552
2157480
3299480
4610480
51202480
62277480
73193480
83412480
93511480
103538480
113546480
123546480
Stop Event
saturated
Counts
82 → 49
Calls
Call 1
Inputs
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
Outputs
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(/.f64 (-.f64 z x) (/.f64 t y))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(/.f64 (-.f64 z x) (/.f64 t y))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(/.f64 (-.f64 z x) (/.f64 t y))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (/.f64 x (/.f64 t y)))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(/.f64 z (/.f64 t y))
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(/.f64 z (/.f64 t y))
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(/.f64 z (/.f64 t y))
(*.f64 y (/.f64 z t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (/.f64 x (/.f64 t y)))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (/.f64 x (/.f64 t y)))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (-.f64 z x) (/.f64 t y)))
(fma.f64 (/.f64 y t) (-.f64 z x) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.8b
(*.f64 y (/.f64 z t))
Compiler

Compiled 15 to 6 computations (60% saved)

series8.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
t
@0
(*.f64 y (/.f64 z t))
1.0ms
y
@0
(*.f64 y (/.f64 z t))
1.0ms
z
@0
(*.f64 y (/.f64 z t))
1.0ms
z
@inf
(*.f64 y (/.f64 z t))
1.0ms
t
@inf
(*.f64 y (/.f64 z t))

rewrite103.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
681×pow1_binary64
628×add-log-exp_binary64
628×log1p-expm1-u_binary64
628×expm1-log1p-u_binary64
613×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify15.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
06252
19252
213252
316252
417252
Stop Event
saturated
Counts
58 → 23
Calls
Call 1
Inputs
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
Outputs
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.3b
(*.f64 (-.f64 z x) (/.f64 y t))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite102.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
481×log-prod_binary64
377×prod-diff_binary64
361×exp-prod_binary64
345×pow-prod-down_binary64
250×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify98.0ms (1%)

Algorithm
egg-herbie
Rules
872×fma-def_binary64
579×fma-neg_binary64
155×cancel-sign-sub-inv_binary64
106×distribute-rgt-in_binary64
94×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
015804
131720
264468
3126468
4243468
5429468
6723468
71186468
82021468
93046468
103125468
113155468
123160468
133160468
Stop Event
saturated
Counts
102 → 61
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (/.f64 (neg.f64 y) t) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (/.f64 (neg.f64 y) t) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (/.f64 (neg.f64 y) t) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (neg.f64 (/.f64 y (/.f64 t x))) (/.f64 y (/.f64 t z)))
(-.f64 (/.f64 y (/.f64 t z)) (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (*.f64 x (/.f64 y t)))
5.1b
(*.f64 x (/.f64 y t))
Compiler

Compiled 22 to 7 computations (68.2% saved)

series8.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 x (/.f64 y t))
1.0ms
x
@0
(*.f64 x (/.f64 y t))
1.0ms
t
@0
(*.f64 x (/.f64 y t))
1.0ms
t
@inf
(*.f64 x (/.f64 y t))
1.0ms
x
@inf
(*.f64 x (/.f64 y t))

rewrite93.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
967×pow1_binary64
899×add-log-exp_binary64
899×log1p-expm1-u_binary64
899×expm1-log1p-u_binary64
87×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify66.0ms (0.7%)

Algorithm
egg-herbie
Rules
380×fma-def_binary64
179×fma-neg_binary64
57×cancel-sign-sub-inv_binary64
49×associate-*r*_binary64
46×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017582
135582
266582
3116582
4224582
5410582
6804582
71078582
81271582
91390582
101404582
111409582
Stop Event
saturated
Counts
132 → 70
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(/.f64 (*.f64 y x) t)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
Outputs
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(/.f64 (*.f64 y x) t)
(/.f64 y (/.f64 t x))
(*.f64 x (/.f64 y t))
(*.f64 y (/.f64 x t))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(-.f64 x (*.f64 y (/.f64 x t)))
(-.f64 x (/.f64 y (/.f64 t x)))

localize39.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (neg.f64 y) (/.f64 x t)))
8.5b
(*.f64 (neg.f64 y) (/.f64 x t))
Compiler

Compiled 26 to 8 computations (69.2% saved)

series6.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
937×pow1_binary64
871×add-log-exp_binary64
870×log1p-expm1-u_binary64
870×expm1-log1p-u_binary64
97×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify68.0ms (0.7%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
178×fma-neg_binary64
63×cancel-sign-sub-inv_binary64
61×distribute-rgt-in_binary64
57×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018714
141654
290654
3169654
4315654
5614654
61198654
71423654
81429654
91443654
101469654
Stop Event
saturated
Counts
135 → 71
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 (/.f64 (neg.f64 x) t) y)
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (+.f64 1 (neg.f64 (/.f64 y t))))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (/.f64 (*.f64 y x) t))

eval99.0ms (1%)

Compiler

Compiled 3784 to 1102 computations (70.9% saved)

prune63.0ms (0.7%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New29410304
Fresh426
Picked101
Done224
Total30114315
Error
0b
Counts
315 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
45.4b
(*.f64 y (/.f64 z t))
31.9b
(/.f64 (-.f64 z x) (/.f64 t y))
22.0b
(-.f64 x (*.f64 x (/.f64 y t)))
32.3b
x
25.7b
(-.f64 x (/.f64 (*.f64 y x) t))
45.2b
(/.f64 y (/.f64 t z))
8.1b
(+.f64 x (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))))
25.7b
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
53.4b
(*.f64 y (/.f64 (neg.f64 x) t))
42.4b
(*.f64 z (/.f64 y t))
44.6b
(/.f64 (*.f64 y z) t)
7.1b
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
52.2b
(*.f64 x (/.f64 (neg.f64 y) t))
14.8b
(+.f64 x (/.f64 (*.f64 y z) t))
Compiler

Compiled 267 to 177 computations (33.7% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
0.0b
(*.f64 y (-.f64 z x))
7.0b
(/.f64 (*.f64 y (-.f64 z x)) t)
Compiler

Compiled 32 to 8 computations (75% saved)

series5.0ms (0.1%)

Counts
1 → 36
Calls

12 calls:

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

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
414×pow-prod-down_binary64
347×fma-def_binary64
296×pow2_binary64
205×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify109.0ms (1.1%)

Algorithm
egg-herbie
Rules
762×fma-def_binary64
748×fma-neg_binary64
198×cancel-sign-sub-inv_binary64
149×distribute-rgt-in_binary64
116×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032432
175429
2155396
3299348
4611348
51207348
62291348
73205348
83418348
93517348
103544348
113552348
123552348
Stop Event
saturated
Counts
106 → 85
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
x
x
Outputs
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 y (/.f64 z t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (-.f64 (/.f64 z t) (/.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z x) (/.f64 y t)))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 y (/.f64 (-.f64 z x) t))
x
x

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.6b
(*.f64 z (/.f64 y t))
Compiler

Compiled 15 to 6 computations (60% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite74.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
681×pow1_binary64
628×add-log-exp_binary64
628×log1p-expm1-u_binary64
628×expm1-log1p-u_binary64
613×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify15.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
06252
19252
213252
316252
417252
Stop Event
saturated
Counts
58 → 24
Calls
Call 1
Inputs
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
Outputs
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.5b
(/.f64 (*.f64 y z) t)
Compiler

Compiled 15 to 6 computations (60% saved)

series3.0ms (0%)

Counts
1 → 0
Calls

9 calls:

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

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
712×pow1_binary64
659×add-log-exp_binary64
659×log1p-expm1-u_binary64
659×expm1-log1p-u_binary64
644×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
8.5b
(*.f64 y (/.f64 (neg.f64 x) t))
Compiler

Compiled 19 to 7 computations (63.2% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 y (/.f64 (neg.f64 x) t))
0.0ms
x
@inf
(*.f64 y (/.f64 (neg.f64 x) t))
0.0ms
t
@-inf
(*.f64 y (/.f64 (neg.f64 x) t))
0.0ms
y
@-inf
(*.f64 y (/.f64 (neg.f64 x) t))
0.0ms
y
@inf
(*.f64 y (/.f64 (neg.f64 x) t))

rewrite67.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
695×pow1_binary64
641×add-log-exp_binary64
640×log1p-expm1-u_binary64
640×expm1-log1p-u_binary64
626×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify42.0ms (0.4%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
46×fma-neg_binary64
24×sub-neg_binary64
18×div-sub_binary64
14×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
235324
369324
4114324
5162324
6202324
7238324
8275324
9394324
10445324
Stop Event
saturated
Counts
57 → 23
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))

localize44.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 (*.f64 y x) t))
5.5b
(/.f64 (*.f64 y x) t)
Compiler

Compiled 22 to 7 computations (68.2% saved)

series8.0ms (0.1%)

Counts
2 → 36
Calls

18 calls:

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

rewrite83.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
982×pow1_binary64
915×add-log-exp_binary64
915×log1p-expm1-u_binary64
915×expm1-log1p-u_binary64
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify60.0ms (0.6%)

Algorithm
egg-herbie
Rules
380×fma-def_binary64
179×fma-neg_binary64
58×cancel-sign-sub-inv_binary64
49×associate-*r*_binary64
46×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017330
135330
266330
3116330
4224330
5410330
6804330
71077330
81272330
91391330
101405330
111410330
Stop Event
saturated
Counts
114 → 86
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
Outputs
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (-.f64 1 (/.f64 y t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(/.f64 x (/.f64 t (neg.f64 y)))
(neg.f64 (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(/.f64 x (/.f64 t (neg.f64 y)))
(neg.f64 (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(/.f64 x (/.f64 t (neg.f64 y)))
(neg.f64 (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 x (-.f64 1 (/.f64 y t)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 (/.f64 y t) x))

eval85.0ms (0.9%)

Compiler

Compiled 4342 to 1283 computations (70.5% saved)

prune91.0ms (0.9%)

Pruning

15 alts after pruning (9 fresh and 6 done)

PrunedKeptTotal
New3384342
Fresh257
Picked101
Done066
Total34115356
Error
0b
Counts
356 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
45.4b
(*.f64 y (/.f64 z t))
31.9b
(/.f64 (-.f64 z x) (/.f64 t y))
14.8b
(+.f64 (/.f64 (*.f64 y z) t) x)
45.2b
(/.f64 y (/.f64 t z))
22.0b
(-.f64 x (*.f64 x (/.f64 y t)))
32.3b
x
8.1b
(+.f64 (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))) x)
25.7b
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
42.4b
(/.f64 z (/.f64 t y))
44.6b
(/.f64 (*.f64 y z) t)
53.5b
(/.f64 (*.f64 y x) (neg.f64 t))
53.4b
(*.f64 y (/.f64 (neg.f64 x) t))
42.4b
(*.f64 z (/.f64 y t))
7.1b
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
52.2b
(*.f64 x (/.f64 (neg.f64 y) t))
Compiler

Compiled 242 to 162 computations (33.1% saved)

localize46.0ms (0.5%)

Local error

Found 3 expressions with local error:

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

Compiled 42 to 20 computations (52.4% saved)

series10.0ms (0.1%)

Counts
3 → 132
Calls

33 calls:

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

rewrite95.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
482×pow-prod-down_binary64
388×fma-def_binary64
321×pow2_binary64
223×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify169.0ms (1.8%)

Algorithm
egg-herbie
Rules
775×fma-def_binary64
719×fma-neg_binary64
204×cancel-sign-sub-inv_binary64
149×distribute-rgt-in_binary64
119×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0381191
1871188
21711188
32981188
46251188
512031188
622431188
731911188
834041188
935031188
1035301188
1135381188
1235381188
Stop Event
saturated
Counts
264 → 155
Calls
Call 1
Inputs
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 -1 (/.f64 x t))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(*.f64 -1 (/.f64 x t))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(*.f64 -1 (/.f64 x t))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(/.f64 (*.f64 y z) t)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
Outputs
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 y) (/.f64 t x))
(*.f64 y (/.f64 (neg.f64 x) t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y z) t) (*.f64 -1 (/.f64 (*.f64 y x) t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(*.f64 -1 (/.f64 x t))
(neg.f64 (/.f64 x t))
(/.f64 (neg.f64 x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(/.f64 z t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(+.f64 (*.f64 -1 (/.f64 x t)) (/.f64 z t))
(/.f64 (-.f64 z x) t)
(*.f64 -1 (/.f64 x t))
(neg.f64 (/.f64 x t))
(/.f64 (neg.f64 x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(*.f64 -1 (/.f64 x t))
(neg.f64 (/.f64 x t))
(/.f64 (neg.f64 x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(+.f64 (/.f64 z t) (*.f64 -1 (/.f64 x t)))
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
(/.f64 (-.f64 z x) t)
x
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(*.f64 y (-.f64 (/.f64 z t) (/.f64 x t)))
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 y (-.f64 (/.f64 z t) (/.f64 x t))) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (/.f64 y (/.f64 t x)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y z) t) (+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (/.f64 y (/.f64 t x)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (/.f64 y (/.f64 t x)))
(-.f64 x (*.f64 (/.f64 x t) y))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 x (-.f64 1 (/.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x)) (/.f64 (*.f64 y z) t))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(/.f64 (*.f64 y (-.f64 z x)) t)
(/.f64 y (/.f64 t (-.f64 z x)))
(*.f64 y (/.f64 (-.f64 z x) t))
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
x
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (-.f64 z x) (/.f64 y t) x)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
8.0b
(/.f64 y (/.f64 t z))
Compiler

Compiled 15 to 6 computations (60% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(/.f64 y (/.f64 t z))
0.0ms
z
@-inf
(/.f64 y (/.f64 t z))
0.0ms
t
@inf
(/.f64 y (/.f64 t z))
0.0ms
t
@-inf
(/.f64 y (/.f64 t z))
0.0ms
y
@inf
(/.f64 y (/.f64 t z))

rewrite59.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify16.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
06252
19252
213252
316252
417252
Stop Event
saturated
Counts
77 → 42
Calls
Call 1
Inputs
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
Outputs
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.1b
(*.f64 x (/.f64 (neg.f64 y) t))
Compiler

Compiled 19 to 7 computations (63.2% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 x (/.f64 (neg.f64 y) t))
0.0ms
x
@inf
(*.f64 x (/.f64 (neg.f64 y) t))
0.0ms
t
@inf
(*.f64 x (/.f64 (neg.f64 y) t))
0.0ms
x
@-inf
(*.f64 x (/.f64 (neg.f64 y) t))
0.0ms
y
@inf
(*.f64 x (/.f64 (neg.f64 y) t))

rewrite52.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
695×pow1_binary64
641×add-log-exp_binary64
640×log1p-expm1-u_binary64
640×expm1-log1p-u_binary64
626×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify27.0ms (0.3%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
46×fma-neg_binary64
24×sub-neg_binary64
18×div-sub_binary64
14×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
235324
369324
4114324
5162324
6202324
7238324
8275324
9394324
10445324
Stop Event
saturated
Counts
57 → 23
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(*.f64 -1 (/.f64 (*.f64 y x) t))
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (neg.f64 (*.f64 y x)) t)
(*.f64 (neg.f64 (/.f64 y t)) x)
(*.f64 x (/.f64 (neg.f64 y) t))
(*.f64 y (neg.f64 (/.f64 x t)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series4.0ms (0%)

Counts
1 → 12
Calls

12 calls:

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

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
827×prod-diff_binary64
493×log-prod_binary64
325×pow-prod-down_binary64
277×fma-def_binary64
247×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify11.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0748
11048
21448
31748
41848
Stop Event
saturated
Counts
82 → 73
Calls
Call 1
Inputs
x
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
x
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
x
x
(/.f64 (*.f64 y z) t)
x
x
Outputs
x
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
x
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
x
x
(/.f64 (*.f64 y z) t)
(/.f64 y (/.f64 t z))
(*.f64 (/.f64 y t) z)
(*.f64 z (/.f64 y t))
(*.f64 y (/.f64 z t))
x
x

localize16.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.2b
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
Compiler

Compiled 26 to 12 computations (53.8% saved)

series7.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
1.0ms
x
@0
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
1.0ms
y
@inf
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
1.0ms
x
@-inf
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
1.0ms
y
@0
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)

rewrite57.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

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

simplify49.0ms (0.5%)

Algorithm
egg-herbie
Rules
341×fma-def_binary64
182×fma-neg_binary64
63×cancel-sign-sub-inv_binary64
61×distribute-rgt-in_binary64
60×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018360
141330
290330
3169330
4315330
5620330
61207330
71430330
81436330
91450330
101476330
Stop Event
saturated
Counts
57 → 29
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (*.f64 (neg.f64 y) x) t)
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 (+.f64 1 (*.f64 -1 (/.f64 y t))) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y t) 1) x))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
x
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) t)) x)
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (*.f64 (neg.f64 y) x) t)
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(*.f64 -1 (/.f64 (*.f64 y x) t))
(neg.f64 (/.f64 y (/.f64 t x)))
(/.f64 (*.f64 (neg.f64 y) x) t)
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))
(+.f64 x (*.f64 -1 (/.f64 (*.f64 y x) t)))
(fma.f64 -1 (/.f64 y (/.f64 t x)) x)
(-.f64 x (*.f64 (/.f64 y t) x))
(fma.f64 x (/.f64 (neg.f64 y) t) x)
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 y (/.f64 x t)))

eval72.0ms (0.7%)

Compiler

Compiled 4621 to 1468 computations (68.2% saved)

prune64.0ms (0.7%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New3612363
Fresh134
Picked011
Done1910
Total36315378
Error
0b
Counts
378 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
45.4b
(*.f64 y (/.f64 z t))
31.9b
(/.f64 (-.f64 z x) (/.f64 t y))
14.8b
(+.f64 (/.f64 (*.f64 y z) t) x)
45.2b
(/.f64 y (/.f64 t z))
15.7b
(+.f64 (*.f64 y (*.f64 z (/.f64 1 t))) x)
32.3b
x
42.4b
(/.f64 z (/.f64 t y))
44.6b
(/.f64 (*.f64 y z) t)
22.0b
(-.f64 x (*.f64 x (/.f64 y t)))
53.5b
(/.f64 (*.f64 y x) (neg.f64 t))
25.7b
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
53.4b
(*.f64 y (/.f64 (neg.f64 x) t))
42.4b
(*.f64 z (/.f64 y t))
7.1b
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
52.2b
(*.f64 x (/.f64 (neg.f64 y) t))
Compiler

Compiled 152 to 102 computations (32.9% saved)

regimes238.0ms (2.5%)

Counts
29 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) x)
(/.f64 (-.f64 z x) (/.f64 t y))
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 x (/.f64 y t)))
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 x (/.f64 (*.f64 y z) t))
(+.f64 x (*.f64 (neg.f64 y) (/.f64 x t)))
(+.f64 (*.f64 y (*.f64 z (/.f64 1 t))) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
(+.f64 (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))) x)
(+.f64 x (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))))
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(fma.f64 (/.f64 1 t) (*.f64 x (neg.f64 y)) x)
(fma.f64 (/.f64 1 t) (*.f64 y (-.f64 z x)) x)
Outputs
(fma.f64 y (/.f64 (-.f64 z x) t) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(fma.f64 y (/.f64 (-.f64 z x) t) x)
Calls

5 calls:

63.0ms
t
59.0ms
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
41.0ms
x
39.0ms
y
27.0ms
z
Results
ErrorSegmentsBranch
2.8b3x
1.6b3y
5.4b2z
1.5b3t
0.6b3(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
Compiler

Compiled 230 to 90 computations (60.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.059519759309139e+295
7.099651461297528e+296
0.0ms
-1.2217966330520246e+306
-9.060626814974888e+304
Compiler

Compiled 20 to 14 computations (30% saved)

regimes318.0ms (3.3%)

Counts
26 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) x)
(/.f64 (-.f64 z x) (/.f64 t y))
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 x (/.f64 y t)))
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 x (/.f64 (*.f64 y z) t))
(+.f64 x (*.f64 (neg.f64 y) (/.f64 x t)))
(+.f64 (*.f64 y (*.f64 z (/.f64 1 t))) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
(+.f64 (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))) x)
(+.f64 x (*.f64 y (*.f64 (-.f64 z x) (/.f64 1 t))))
Outputs
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))
Calls

5 calls:

97.0ms
x
73.0ms
y
58.0ms
t
49.0ms
z
34.0ms
(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
Results
ErrorSegmentsBranch
2.8b3x
1.6b3y
5.4b2z
1.6b3t
0.6b3(+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t))
Compiler

Compiled 203 to 81 computations (60.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.059519759309139e+295
7.099651461297528e+296
0.0ms
-1.2217966330520246e+306
-9.060626814974888e+304
Compiler

Compiled 20 to 14 computations (30% saved)

regimes166.0ms (1.7%)

Counts
22 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) x)
(/.f64 (-.f64 z x) (/.f64 t y))
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 x (/.f64 y t)))
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 x (/.f64 (*.f64 y z) t))
(+.f64 x (*.f64 (neg.f64 y) (/.f64 x t)))
(+.f64 (*.f64 y (*.f64 z (/.f64 1 t))) x)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
Outputs
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x)
(-.f64 x (*.f64 x (/.f64 y t)))
Calls

4 calls:

61.0ms
t
41.0ms
z
32.0ms
x
23.0ms
y
Results
ErrorSegmentsBranch
2.8b3x
5.6b2y
5.6b3z
4.2b3t
Compiler

Compiled 150 to 59 computations (60.7% saved)

bsearch34.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
3.277489689684912e+85
2.3699296605981864e+86
12.0ms
-2.6297171705448836e+171
-3.85680741218212e+170
Compiler

Compiled 46 to 31 computations (32.6% saved)

regimes160.0ms (1.7%)

Counts
21 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) x)
(/.f64 (-.f64 z x) (/.f64 t y))
(-.f64 x (/.f64 (*.f64 y x) t))
(-.f64 x (*.f64 x (/.f64 y t)))
(/.f64 (*.f64 y (-.f64 z x)) t)
(*.f64 (-.f64 z x) (/.f64 y t))
(+.f64 x (/.f64 (*.f64 y z) t))
(+.f64 x (*.f64 (neg.f64 y) (/.f64 x t)))
(+.f64 (*.f64 y (*.f64 z (/.f64 1 t))) x)
Outputs
(-.f64 x (*.f64 x (/.f64 y t)))
(+.f64 (/.f64 (*.f64 y z) t) x)
(-.f64 x (*.f64 x (/.f64 y t)))
Calls

4 calls:

52.0ms
t
42.0ms
z
31.0ms
y
30.0ms
x
Results
ErrorSegmentsBranch
7.7b3x
10.1b3y
10.8b3z
10.1b5t
Compiler

Compiled 141 to 58 computations (58.9% saved)

bsearch41.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
3.8034420689554325e-54
3.609943443780138e-34
21.0ms
-12489800739977724.0
-192832352823.37317
Compiler

Compiled 20 to 14 computations (30% saved)

regimes313.0ms (3.3%)

Counts
15 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) x)
(/.f64 (-.f64 z x) (/.f64 t y))
(-.f64 x (/.f64 (*.f64 y x) t))
Outputs
(/.f64 (-.f64 z x) (/.f64 t y))
(+.f64 (/.f64 (*.f64 y z) t) x)
(/.f64 (-.f64 z x) (/.f64 t y))
Calls

4 calls:

145.0ms
y
92.0ms
z
46.0ms
t
25.0ms
x
Results
ErrorSegmentsBranch
11.7b3x
10.1b3y
12.0b3z
12.2b3t
Compiler

Compiled 96 to 44 computations (54.2% saved)

bsearch65.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
1.1636969553285225e+185
5.006613822340717e+185
41.0ms
-5.721889605321638e+75
-3.140124580409428e+74
Compiler

Compiled 332 to 222 computations (33.1% saved)

regimes70.0ms (0.7%)

Counts
13 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
(+.f64 (/.f64 (*.f64 y z) t) x)
Outputs
(+.f64 (/.f64 (*.f64 y z) t) x)
(*.f64 x (/.f64 (neg.f64 y) t))
x
Calls

4 calls:

25.0ms
x
24.0ms
t
9.0ms
z
9.0ms
y
Results
ErrorSegmentsBranch
12.5b3x
14.8b1y
14.8b1z
13.6b3t
Compiler

Compiled 82 to 40 computations (51.2% saved)

bsearch137.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
1.7219913523521103e+195
7.504818196227249e+195
81.0ms
8.932111628853722e+148
2.9591600556471643e+150
Compiler

Compiled 283 to 204 computations (27.9% saved)

regimes172.0ms (1.8%)

Counts
12 → 5
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
(*.f64 x (/.f64 (neg.f64 y) t))
Outputs
x
(*.f64 z (/.f64 y t))
x
(*.f64 x (/.f64 (neg.f64 y) t))
x
Calls

4 calls:

57.0ms
z
52.0ms
t
35.0ms
x
25.0ms
y
Results
ErrorSegmentsBranch
21.6b5x
25.9b3y
23.2b8z
24.8b7t
Compiler

Compiled 75 to 39 computations (48% saved)

bsearch227.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
1.7219913523521103e+195
7.504818196227249e+195
122.0ms
2.9591600556471643e+150
1.6801738745926383e+159
21.0ms
1.2716025014859312e-149
1.2634974020182234e-148
21.0ms
-2.3177019130344637e-84
-1.2611973577231242e-86
Compiler

Compiled 275 to 209 computations (24% saved)

regimes151.0ms (1.6%)

Counts
11 → 5
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
(*.f64 y (/.f64 (neg.f64 x) t))
Outputs
x
(*.f64 z (/.f64 y t))
x
(*.f64 y (/.f64 (neg.f64 x) t))
x
Calls

4 calls:

52.0ms
z
41.0ms
t
33.0ms
x
22.0ms
y
Results
ErrorSegmentsBranch
22.3b5x
25.9b3y
23.2b8z
26.1b5t
Compiler

Compiled 69 to 36 computations (47.8% saved)

bsearch266.0ms (2.8%)

Algorithm
binary-search
Steps
TimeLeftRight
82.0ms
3.284228774295868e+173
2.84987943867882e+175
138.0ms
2.9591600556471643e+150
1.6801738745926383e+159
23.0ms
1.2716025014859312e-149
1.2634974020182234e-148
23.0ms
-2.3177019130344637e-84
-1.2611973577231242e-86
Compiler

Compiled 292 to 222 computations (24% saved)

regimes130.0ms (1.4%)

Counts
10 → 5
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
(*.f64 z (/.f64 y t))
(/.f64 (*.f64 y z) t)
(/.f64 (*.f64 y z) t)
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y x) (neg.f64 t))
Outputs
x
(*.f64 z (/.f64 y t))
x
(/.f64 (*.f64 y x) (neg.f64 t))
x
Calls

4 calls:

47.0ms
z
35.0ms
t
27.0ms
x
19.0ms
y
Results
ErrorSegmentsBranch
22.3b5x
25.9b3y
23.2b8z
26.1b5t
Compiler

Compiled 63 to 33 computations (47.6% saved)

bsearch226.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
73.0ms
3.284228774295868e+173
2.84987943867882e+175
113.0ms
2.9591600556471643e+150
1.6801738745926383e+159
20.0ms
1.2716025014859312e-149
1.2634974020182234e-148
20.0ms
-2.3177019130344637e-84
-1.2611973577231242e-86
Compiler

Compiled 292 to 222 computations (24% saved)

regimes244.0ms (2.5%)

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

4 calls:

171.0ms
t
32.0ms
z
21.0ms
x
17.0ms
y
Results
ErrorSegmentsBranch
23.5b3x
25.9b3y
24.3b6z
26.1b5t
Compiler

Compiled 57 to 30 computations (47.4% saved)

bsearch43.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
1.2716025014859312e-149
1.2634974020182234e-148
21.0ms
-2.3177019130344637e-84
-1.2611973577231242e-86
Compiler

Compiled 20 to 14 computations (30% saved)

regimes84.0ms (0.9%)

Counts
5 → 3
Calls
Call 1
Inputs
x
x
x
(/.f64 z (/.f64 t y))
(/.f64 y (/.f64 t z))
Outputs
x
(/.f64 z (/.f64 t y))
x
Calls

4 calls:

25.0ms
z
25.0ms
t
16.0ms
x
15.0ms
y
Results
ErrorSegmentsBranch
23.5b3x
25.9b3y
24.3b6z
26.3b5t
Compiler

Compiled 37 to 24 computations (35.1% saved)

bsearch42.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
1.2716025014859312e-149
1.2634974020182234e-148
21.0ms
-2.3177019130344637e-84
-1.2611973577231242e-86
Compiler

Compiled 20 to 14 computations (30% saved)

regimes19.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

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

4 calls:

7.0ms
y
4.0ms
x
3.0ms
t
3.0ms
z
Results
ErrorSegmentsBranch
32.3b1x
32.3b1y
32.3b1z
32.3b1t
Compiler

Compiled 27 to 20 computations (25.9% saved)

simplify27.0ms (0.3%)

Algorithm
egg-herbie
Rules
15×*-commutative_binary64
12×+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
090479
1117479
2137479
3152479
4157479
5158479
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) -1000000000000000017216064596736454828831087825013238982328892017892380671244575047987920451875459594568606138861698291060311049225532948520696938805711440650122628514669428460356992624968028329550689224175284346730060716088829214255439694630119794546505512415617982143262670862918816362862119154749127262208) (fma.f64 y (/.f64 (-.f64 z x) t) x) (if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) 99999999999999998134867772062300415778155607198205813300984837204468478832795008398842977267828545807373626970040225815727702936870449359100155289601680494988872072239402046841988962644563396584878879514845800049027585211004144644909839626131908358862432902604247279245705105301413805838450032640) (+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x) (fma.f64 y (/.f64 (-.f64 z x) t) x)))
(if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) -1000000000000000017216064596736454828831087825013238982328892017892380671244575047987920451875459594568606138861698291060311049225532948520696938805711440650122628514669428460356992624968028329550689224175284346730060716088829214255439694630119794546505512415617982143262670862918816362862119154749127262208) (+.f64 x (/.f64 y (/.f64 t (-.f64 z x)))) (if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) 99999999999999998134867772062300415778155607198205813300984837204468478832795008398842977267828545807373626970040225815727702936870449359100155289601680494988872072239402046841988962644563396584878879514845800049027585211004144644909839626131908358862432902604247279245705105301413805838450032640) (+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x) (+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))))
(if (<=.f64 x -999999999999999953972206729656870211732987713739100709830741553196290713284945813208338477706166412373726001850053663010587168093173889073910282723323583537144858509574144) (-.f64 x (*.f64 x (/.f64 y t))) (if (<=.f64 x 32774896896849121356588181842631815619727659561491053011567990944081343647230623481856) (+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x) (-.f64 x (*.f64 x (/.f64 y t)))))
(if (<=.f64 x -12489800739977724) (-.f64 x (*.f64 x (/.f64 y t))) (if (<=.f64 x 6562598101160675/1725436586697640946858688965569256363112777243042596638790631055949824) (+.f64 (/.f64 (*.f64 y z) t) x) (-.f64 x (*.f64 x (/.f64 y t)))))
(if (<=.f64 y -5700000000000000364659049282200593190706698342953735686971044061859572350976) (/.f64 (-.f64 z x) (/.f64 t y)) (if (<=.f64 y 499999999999999989808522084376857585553564725933420826033816059478724227392780555018085723055197992539301255695814786059441754879368190130759447389960039529302154427470988612958966251520) (+.f64 (/.f64 (*.f64 y z) t) x) (/.f64 (-.f64 z x) (/.f64 t y))))
(if (<=.f64 x 2900000000000000107961941866579936686259904815488944729533684104093453888725962706275104804501574089084822385368712666949211755170394406495162149634048) (+.f64 (/.f64 (*.f64 y z) t) x) (if (<=.f64 x 1750000000000000121976540255915796034963496265265645473028963792972209551439109341606358451250566859902130650889438909333610274883886145410968807557687144843253555849913533728195106564265566273536) (*.f64 x (/.f64 (neg.f64 y) t)) x))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 1750000000000000121976540255915796034963496265265645473028963792972209551439109341606358451250566859902130650889438909333610274883886145410968807557687144843253555849913533728195106564265566273536) (*.f64 x (/.f64 (neg.f64 y) t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 340000000000000021248837711285363090016932617733782784165666866357005418012122669613129693182497860365824909184336478426567310880888734234660181624406978895214653957998641152) (*.f64 y (/.f64 (neg.f64 x) t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 340000000000000021248837711285363090016932617733782784165666866357005418012122669613129693182497860365824909184336478426567310880888734234660181624406978895214653957998641152) (/.f64 (*.f64 y x) (neg.f64 t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) x))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (/.f64 z (/.f64 t y)) x))
x
Outputs
(if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) -1000000000000000017216064596736454828831087825013238982328892017892380671244575047987920451875459594568606138861698291060311049225532948520696938805711440650122628514669428460356992624968028329550689224175284346730060716088829214255439694630119794546505512415617982143262670862918816362862119154749127262208) (fma.f64 y (/.f64 (-.f64 z x) t) x) (if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) 99999999999999998134867772062300415778155607198205813300984837204468478832795008398842977267828545807373626970040225815727702936870449359100155289601680494988872072239402046841988962644563396584878879514845800049027585211004144644909839626131908358862432902604247279245705105301413805838450032640) (+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x) (fma.f64 y (/.f64 (-.f64 z x) t) x)))
(if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) -1000000000000000017216064596736454828831087825013238982328892017892380671244575047987920451875459594568606138861698291060311049225532948520696938805711440650122628514669428460356992624968028329550689224175284346730060716088829214255439694630119794546505512415617982143262670862918816362862119154749127262208) (fma.f64 y (/.f64 (-.f64 z x) t) x) (if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) 99999999999999998134867772062300415778155607198205813300984837204468478832795008398842977267828545807373626970040225815727702936870449359100155289601680494988872072239402046841988962644563396584878879514845800049027585211004144644909839626131908358862432902604247279245705105301413805838450032640) (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) (fma.f64 y (/.f64 (-.f64 z x) t) x)))
(if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) -1000000000000000017216064596736454828831087825013238982328892017892380671244575047987920451875459594568606138861698291060311049225532948520696938805711440650122628514669428460356992624968028329550689224175284346730060716088829214255439694630119794546505512415617982143262670862918816362862119154749127262208) (+.f64 x (/.f64 y (/.f64 t (-.f64 z x)))) (if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) 99999999999999998134867772062300415778155607198205813300984837204468478832795008398842977267828545807373626970040225815727702936870449359100155289601680494988872072239402046841988962644563396584878879514845800049027585211004144644909839626131908358862432902604247279245705105301413805838450032640) (+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x) (+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))))
(if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) -1000000000000000017216064596736454828831087825013238982328892017892380671244575047987920451875459594568606138861698291060311049225532948520696938805711440650122628514669428460356992624968028329550689224175284346730060716088829214255439694630119794546505512415617982143262670862918816362862119154749127262208) (+.f64 x (/.f64 y (/.f64 t (-.f64 z x)))) (if (<=.f64 (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) 99999999999999998134867772062300415778155607198205813300984837204468478832795008398842977267828545807373626970040225815727702936870449359100155289601680494988872072239402046841988962644563396584878879514845800049027585211004144644909839626131908358862432902604247279245705105301413805838450032640) (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) (+.f64 x (/.f64 y (/.f64 t (-.f64 z x))))))
(if (<=.f64 x -999999999999999953972206729656870211732987713739100709830741553196290713284945813208338477706166412373726001850053663010587168093173889073910282723323583537144858509574144) (-.f64 x (*.f64 x (/.f64 y t))) (if (<=.f64 x 32774896896849121356588181842631815619727659561491053011567990944081343647230623481856) (+.f64 (/.f64 (*.f64 y (-.f64 z x)) t) x) (-.f64 x (*.f64 x (/.f64 y t)))))
(if (<=.f64 x -999999999999999953972206729656870211732987713739100709830741553196290713284945813208338477706166412373726001850053663010587168093173889073910282723323583537144858509574144) (-.f64 x (*.f64 x (/.f64 y t))) (if (<=.f64 x 32774896896849121356588181842631815619727659561491053011567990944081343647230623481856) (+.f64 x (/.f64 (*.f64 y (-.f64 z x)) t)) (-.f64 x (*.f64 x (/.f64 y t)))))
(if (<=.f64 x -12489800739977724) (-.f64 x (*.f64 x (/.f64 y t))) (if (<=.f64 x 6562598101160675/1725436586697640946858688965569256363112777243042596638790631055949824) (+.f64 (/.f64 (*.f64 y z) t) x) (-.f64 x (*.f64 x (/.f64 y t)))))
(if (<=.f64 x -12489800739977724) (-.f64 x (*.f64 x (/.f64 y t))) (if (<=.f64 x 6562598101160675/1725436586697640946858688965569256363112777243042596638790631055949824) (+.f64 x (/.f64 (*.f64 y z) t)) (-.f64 x (*.f64 x (/.f64 y t)))))
(if (<=.f64 y -5700000000000000364659049282200593190706698342953735686971044061859572350976) (/.f64 (-.f64 z x) (/.f64 t y)) (if (<=.f64 y 499999999999999989808522084376857585553564725933420826033816059478724227392780555018085723055197992539301255695814786059441754879368190130759447389960039529302154427470988612958966251520) (+.f64 (/.f64 (*.f64 y z) t) x) (/.f64 (-.f64 z x) (/.f64 t y))))
(if (<=.f64 y -5700000000000000364659049282200593190706698342953735686971044061859572350976) (/.f64 (-.f64 z x) (/.f64 t y)) (if (<=.f64 y 499999999999999989808522084376857585553564725933420826033816059478724227392780555018085723055197992539301255695814786059441754879368190130759447389960039529302154427470988612958966251520) (+.f64 x (/.f64 (*.f64 y z) t)) (/.f64 (-.f64 z x) (/.f64 t y))))
(if (<=.f64 x 2900000000000000107961941866579936686259904815488944729533684104093453888725962706275104804501574089084822385368712666949211755170394406495162149634048) (+.f64 (/.f64 (*.f64 y z) t) x) (if (<=.f64 x 1750000000000000121976540255915796034963496265265645473028963792972209551439109341606358451250566859902130650889438909333610274883886145410968807557687144843253555849913533728195106564265566273536) (*.f64 x (/.f64 (neg.f64 y) t)) x))
(if (<=.f64 x 2900000000000000107961941866579936686259904815488944729533684104093453888725962706275104804501574089084822385368712666949211755170394406495162149634048) (+.f64 x (/.f64 (*.f64 y z) t)) (if (<=.f64 x 1750000000000000121976540255915796034963496265265645473028963792972209551439109341606358451250566859902130650889438909333610274883886145410968807557687144843253555849913533728195106564265566273536) (*.f64 x (/.f64 (neg.f64 y) t)) x))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 1750000000000000121976540255915796034963496265265645473028963792972209551439109341606358451250566859902130650889438909333610274883886145410968807557687144843253555849913533728195106564265566273536) (*.f64 x (/.f64 (neg.f64 y) t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 340000000000000021248837711285363090016932617733782784165666866357005418012122669613129693182497860365824909184336478426567310880888734234660181624406978895214653957998641152) (*.f64 y (/.f64 (neg.f64 x) t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 340000000000000021248837711285363090016932617733782784165666866357005418012122669613129693182497860365824909184336478426567310880888734234660181624406978895214653957998641152) (/.f64 (*.f64 y x) (neg.f64 t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) (if (<=.f64 x 1649999999999999940532530397252748612709408284219992195200601140049033549012268296943341565703436608202809188652314653460862819180360667361190997743335897038848) x (if (<=.f64 x 340000000000000021248837711285363090016932617733782784165666866357005418012122669613129693182497860365824909184336478426567310880888734234660181624406978895214653957998641152) (/.f64 (*.f64 x y) (neg.f64 t)) x))))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 z (/.f64 y t)) x))
(if (<=.f64 x -1267348797278901/546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456) x (if (<=.f64 x 1464532488988337/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (/.f64 z (/.f64 t y)) x))
x
Compiler

Compiled 380 to 189 computations (50.3% saved)

soundness186.0ms (1.9%)

Algorithm
egg-herbie
Rules
785×fma-def_binary64
657×fma-neg_binary64
206×cancel-sign-sub-inv_binary64
147×distribute-rgt-in_binary64
101×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0913
11513
23011
36411
415011
531311
655111
7101411
8197811
9291111
10344411
11349311
12352311
13352811
14352811
Stop Event
saturated
Compiler

Compiled 51 to 31 computations (39.2% saved)

end103.0ms (1.1%)

Compiler

Compiled 336 to 116 computations (65.5% saved)

Profiling

Loading profile data...