Details

Time bar (total: 16.8s)

analyze418.0ms (2.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
0%0%99.7%0.3%0%0%0%1
0%0%99.7%0.3%0%0%0%2
0%0%99.7%0.3%0%0%0%3
0%0%99.7%0.3%0%0%0%4
0%0%99.7%0.3%0%0%0%5
0%0%99.7%0.3%0%0%0%6
0%0%90.4%0.3%9.3%0%0%7
0%0%90.4%0.3%9.3%0%0%8
0%0%89.6%0.3%10.1%0%0%9
0%0%84.5%0.3%15.2%0%0%10
0%0%67.2%0.3%15.2%17.3%0%11
0%0%65.3%0.3%17.1%17.3%0%12
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample2.2s (13.2%)

Results
1.5s8254×body256valid
464.0ms2942×body256invalid
230.0ms1217×body256infinite
1.0msbody512valid
Bogosity

preprocess73.0ms (0.4%)

Algorithm
egg-herbie
Rules
539×associate--r+_binary64
527×cancel-sign-sub-inv_binary64
497×associate-+l-_binary64
457×associate-+r+_binary64
420×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
094384
1297352
21178352
33830352
47126352
066
166
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
3
4
5
Outputs
0
1
0
2
3
4
5
Call 2
Inputs
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 y x) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 z y) x) (*.f64 x (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 t y) z) (*.f64 z (log.f64 x))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 a y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 x 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 b y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) x))
(+.f64 (-.f64 (+.f64 (+.f64 x z) y) (*.f64 y (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x t) z) (*.f64 z (log.f64 y))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x a) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 y 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x b) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) y))
(+.f64 (-.f64 (+.f64 (+.f64 x y) t) (*.f64 t (log.f64 z))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) a) (*.f64 a (log.f64 t))) (*.f64 (-.f64 z 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) b) (*.f64 b (log.f64 t))) (*.f64 (-.f64 a 1/2) z))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 a))) (*.f64 (-.f64 t 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 b))) (*.f64 (-.f64 a 1/2) t))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 b 1/2) a))
Outputs
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (-.f64 (+.f64 x z) (*.f64 z (log.f64 t)))))
(-.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) z) (*.f64 z (log.f64 t)))
(+.f64 (-.f64 (+.f64 (+.f64 y x) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (-.f64 (+.f64 x z) (*.f64 z (log.f64 t)))))
(-.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) z) (*.f64 z (log.f64 t)))
(+.f64 (-.f64 (+.f64 (+.f64 z y) x) (*.f64 x (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (+.f64 a -1/2) b) (+.f64 (+.f64 y z) (-.f64 x (*.f64 x (log.f64 t)))))
(fma.f64 (+.f64 a -1/2) b (+.f64 x (-.f64 (+.f64 y z) (*.f64 x (log.f64 t)))))
(+.f64 (-.f64 x (*.f64 x (log.f64 t))) (fma.f64 (+.f64 a -1/2) b (+.f64 y z)))
(+.f64 x (+.f64 y (-.f64 z (fma.f64 x (log.f64 t) (*.f64 b (-.f64 1/2 a))))))
(+.f64 (-.f64 (+.f64 (+.f64 t y) z) (*.f64 z (log.f64 x))) (*.f64 (-.f64 a 1/2) b))
(-.f64 (+.f64 z (+.f64 y t)) (-.f64 (*.f64 z (log.f64 x)) (*.f64 (+.f64 a -1/2) b)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 t (-.f64 z (*.f64 z (log.f64 x))))))
(+.f64 (-.f64 z (*.f64 z (log.f64 x))) (fma.f64 (+.f64 a -1/2) b (+.f64 y t)))
(+.f64 (-.f64 (+.f64 (+.f64 a y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 x 1/2) b))
(+.f64 (+.f64 (+.f64 y a) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 b (+.f64 x -1/2)))
(fma.f64 b (+.f64 x -1/2) (-.f64 (+.f64 y (+.f64 z a)) (*.f64 z (log.f64 t))))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 b (+.f64 x -1/2) (+.f64 y a)))
(-.f64 (+.f64 y (+.f64 z a)) (fma.f64 z (log.f64 t) (*.f64 b (-.f64 1/2 x))))
(+.f64 (-.f64 (+.f64 (+.f64 b y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) x))
(+.f64 (+.f64 (+.f64 y b) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 x (+.f64 a -1/2)))
(fma.f64 x (+.f64 a -1/2) (-.f64 (+.f64 z (+.f64 y b)) (*.f64 z (log.f64 t))))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 x (+.f64 a -1/2) (+.f64 y b)))
(+.f64 (-.f64 (+.f64 (+.f64 x z) y) (*.f64 y (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (+.f64 (+.f64 x y) z) (*.f64 y (log.f64 t))))
(fma.f64 (+.f64 a -1/2) b (+.f64 x (-.f64 (+.f64 y z) (*.f64 y (log.f64 t)))))
(+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) (-.f64 z (*.f64 y (log.f64 t))))
(+.f64 (+.f64 x y) (-.f64 z (fma.f64 y (log.f64 t) (*.f64 b (-.f64 1/2 a)))))
(+.f64 (-.f64 (+.f64 (+.f64 x t) z) (*.f64 z (log.f64 y))) (*.f64 (-.f64 a 1/2) b))
(-.f64 (+.f64 x (+.f64 t z)) (-.f64 (*.f64 z (log.f64 y)) (*.f64 (+.f64 a -1/2) b)))
(fma.f64 (+.f64 a -1/2) b (+.f64 x (+.f64 t (-.f64 z (*.f64 z (log.f64 y))))))
(+.f64 (-.f64 z (*.f64 z (log.f64 y))) (fma.f64 (+.f64 a -1/2) b (+.f64 x t)))
(+.f64 (-.f64 (+.f64 (+.f64 x a) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 y 1/2) b))
(+.f64 (+.f64 (+.f64 x a) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 b (-.f64 y 1/2)))
(fma.f64 b (+.f64 y -1/2) (-.f64 (+.f64 x (+.f64 z a)) (*.f64 z (log.f64 t))))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 b (+.f64 y -1/2) (+.f64 x a)))
(+.f64 a (-.f64 (+.f64 x z) (fma.f64 z (log.f64 t) (*.f64 b (-.f64 1/2 y)))))
(+.f64 (-.f64 (+.f64 (+.f64 x b) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) y))
(+.f64 (+.f64 (+.f64 x b) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 y (+.f64 a -1/2)))
(fma.f64 y (+.f64 a -1/2) (+.f64 x (-.f64 (+.f64 z b) (*.f64 z (log.f64 t)))))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 y (+.f64 a -1/2) (+.f64 x b)))
(+.f64 (+.f64 x b) (-.f64 z (fma.f64 z (log.f64 t) (*.f64 y (-.f64 1/2 a)))))
(+.f64 (-.f64 (+.f64 (+.f64 x y) t) (*.f64 t (log.f64 z))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (+.f64 a -1/2) b) (-.f64 (+.f64 x (+.f64 y t)) (*.f64 t (log.f64 z))))
(fma.f64 (+.f64 a -1/2) b (+.f64 (+.f64 x y) (-.f64 t (*.f64 t (log.f64 z)))))
(+.f64 (-.f64 t (*.f64 t (log.f64 z))) (fma.f64 (+.f64 a -1/2) b (+.f64 x y)))
(+.f64 (-.f64 (+.f64 (+.f64 x y) a) (*.f64 a (log.f64 t))) (*.f64 (-.f64 z 1/2) b))
(+.f64 (+.f64 (+.f64 x y) (-.f64 a (*.f64 (log.f64 t) a))) (*.f64 b (+.f64 z -1/2)))
(fma.f64 b (+.f64 z -1/2) (+.f64 x (-.f64 (+.f64 y a) (*.f64 (log.f64 t) a))))
(-.f64 (+.f64 (fma.f64 b (+.f64 z -1/2) (+.f64 x y)) a) (*.f64 (log.f64 t) a))
(+.f64 x (-.f64 (+.f64 y a) (fma.f64 (log.f64 t) a (*.f64 b (-.f64 1/2 z)))))
(+.f64 (-.f64 (+.f64 (+.f64 x y) b) (*.f64 b (log.f64 t))) (*.f64 (-.f64 a 1/2) z))
(+.f64 (+.f64 (+.f64 x y) (-.f64 b (*.f64 (log.f64 t) b))) (*.f64 z (+.f64 a -1/2)))
(fma.f64 z (+.f64 a -1/2) (+.f64 x (+.f64 y (-.f64 b (*.f64 (log.f64 t) b)))))
(+.f64 (-.f64 b (*.f64 (log.f64 t) b)) (fma.f64 z (+.f64 a -1/2) (+.f64 x y)))
(+.f64 b (-.f64 (fma.f64 z (+.f64 a -1/2) (+.f64 x y)) (*.f64 (log.f64 t) b)))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 a))) (*.f64 (-.f64 t 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 a))) (*.f64 b (+.f64 t -1/2)))
(fma.f64 b (+.f64 t -1/2) (+.f64 x (-.f64 (+.f64 y z) (*.f64 z (log.f64 a)))))
(+.f64 (-.f64 z (*.f64 z (log.f64 a))) (fma.f64 b (+.f64 t -1/2) (+.f64 x y)))
(+.f64 x (+.f64 y (-.f64 z (fma.f64 z (log.f64 a) (*.f64 b (-.f64 1/2 t))))))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 b))) (*.f64 (-.f64 a 1/2) t))
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 b)))) (*.f64 t (+.f64 a -1/2)))
(fma.f64 t (+.f64 a -1/2) (-.f64 (+.f64 x (+.f64 y z)) (*.f64 z (log.f64 b))))
(+.f64 (-.f64 z (*.f64 z (log.f64 b))) (fma.f64 t (+.f64 a -1/2) (+.f64 x y)))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 b 1/2) a))
(-.f64 (+.f64 (+.f64 x y) z) (-.f64 (*.f64 z (log.f64 t)) (*.f64 a (+.f64 b -1/2))))
(fma.f64 a (+.f64 b -1/2) (+.f64 y (-.f64 (+.f64 x z) (*.f64 z (log.f64 t)))))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (fma.f64 a (+.f64 b -1/2) (+.f64 x y)))
(+.f64 x (+.f64 y (-.f64 z (fma.f64 z (log.f64 t) (*.f64 a (-.f64 1/2 b))))))
Symmetry

(sort x y)

Compiler

Compiled 28 to 21 computations (25% saved)

simplify116.0ms (0.7%)

Algorithm
egg-herbie
Rules
866×fma-neg_binary64
691×sub-neg_binary64
567×unsub-neg_binary64
503×fma-def_binary64
441×+-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01624
13522
210622
332721
4104520
5288820
6434520
7631120
8718620
9751820
10762820
11763820
12775320
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
Outputs
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 (+.f64 x y) (-.f64 z (*.f64 z (log.f64 t)))) (*.f64 (+.f64 a -1/2) b))
(fma.f64 (+.f64 a -1/2) b (+.f64 z (-.f64 (+.f64 x y) (*.f64 z (log.f64 t)))))
(-.f64 (+.f64 (fma.f64 (+.f64 a -1/2) b (+.f64 x y)) z) (*.f64 z (log.f64 t)))
(+.f64 (fma.f64 (fma.f64 -1 (log.f64 t) 1) z x) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))

eval1.0ms (0%)

Compiler

Compiled 36 to 22 computations (38.9% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 42 to 29 computations (31% saved)

localize26.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log.f64 t))
0.0b
(fma.f64 (+.f64 a -1/2) b x)
0.1b
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
Compiler

Compiled 55 to 29 computations (47.3% saved)

series79.0ms (0.5%)

Counts
3 → 104
Calls

27 calls:

TimeVariablePointExpression
21.0ms
t
@0
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
20.0ms
t
@-inf
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
10.0ms
t
@inf
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
8.0ms
a
@0
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
7.0ms
z
@0
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))

rewrite82.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
578×log-prod_binary64
359×pow-prod-down_binary64
356×pow2_binary64
332×prod-diff_binary64
245×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify119.0ms (0.7%)

Algorithm
egg-herbie
Rules
833×unsub-neg_binary64
726×fma-def_binary64
494×fma-neg_binary64
489×associate-+l+_binary64
367×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0461239
11261207
22381207
34771207
413411207
532351207
655461207
773601207
Stop Event
node limit
Counts
209 → 132
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 -1/2 b) x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 -1/2 b) x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
x
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
x
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
Outputs
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 -1/2 b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 -1/2 b x))
(fma.f64 b -1/2 (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(fma.f64 (-.f64 1 (log.f64 t)) z x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(fma.f64 (+.f64 a -1/2) b (*.f64 (-.f64 1 (log.f64 t)) z))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) x)
(fma.f64 -1/2 b x)
(fma.f64 b -1/2 x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x))
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x))
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) x))
(fma.f64 (+.f64 a -1/2) b x)
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(fma.f64 (+.f64 a -1/2) b x)
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) x))
(fma.f64 (+.f64 a -1/2) b x)
x
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
x
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
x
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))
(-.f64 1 (log.f64 t))

localize22.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 61 to 21 computations (65.6% saved)

series34.0ms (0.2%)

Counts
3 → 68
Calls

24 calls:

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

rewrite115.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
806×fma-def_binary64
386×fma-neg_binary64
322×expm1-udef_binary64
322×log1p-udef_binary64
260×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify202.0ms (1.2%)

Algorithm
egg-herbie
Rules
770×unsub-neg_binary64
718×fma-def_binary64
425×sub-neg_binary64
408×fma-neg_binary64
393×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042790
1112782
2245676
3696676
41634676
54071676
65817676
76816676
87421676
97666676
107740676
117758676
127838676
137886676
Stop Event
node limit
Counts
256 → 212
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(-.f64 (+.f64 y z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 y x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 -1/2 b)
(+.f64 (*.f64 a b) (*.f64 -1/2 b))
(+.f64 (*.f64 a b) (*.f64 -1/2 b))
(+.f64 (*.f64 a b) (*.f64 -1/2 b))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
Outputs
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z))
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(neg.f64 (*.f64 (neg.f64 (log.f64 t)) z))
(*.f64 z (*.f64 1 (log.f64 t)))
(*.f64 z (log.f64 t))
(-.f64 (+.f64 y z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 z y) (*.f64 z (log.f64 t)))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))
(+.f64 z (-.f64 x (*.f64 z (log.f64 t))))
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 y x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 y x))
(*.f64 -1/2 b)
(+.f64 (*.f64 a b) (*.f64 -1/2 b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(+.f64 (*.f64 a b) (*.f64 -1/2 b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(+.f64 (*.f64 a b) (*.f64 -1/2 b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))
(+.f64 (*.f64 -1/2 b) (*.f64 a b))
(*.f64 b (+.f64 a -1/2))
(*.f64 b (+.f64 -1/2 a))

eval331.0ms (2%)

Compiler

Compiled 7432 to 3235 computations (56.5% saved)

prune211.0ms (1.3%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New32717344
Fresh000
Picked101
Done101
Total32917346
Error
0b
Counts
346 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 y (fma.f64 z (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 1 (+.f64 1 (log.f64 t)))) (fma.f64 (+.f64 a -1/2) b x)))
35.3b
(+.f64 (fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)) (+.f64 y (+.f64 x z))) (*.f64 (-.f64 a 1/2) b))
38.5b
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
0.9b
(+.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 3) (*.f64 (-.f64 a 1/2) b))
28.7b
(+.f64 y (*.f64 (-.f64 a 1/2) b))
38.9b
(+.f64 y (*.f64 a b))
25.0b
(+.f64 x (*.f64 (-.f64 a 1/2) b))
38.5b
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z)))
0.0b
(+.f64 y (fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x)))
36.2b
(+.f64 y x)
27.9b
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
32.3b
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b))
33.4b
(+.f64 (pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (*.f64 (-.f64 a 1/2) b))
23.2b
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))
31.8b
(+.f64 (fma.f64 (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (+.f64 y (+.f64 x z))) (*.f64 (-.f64 a 1/2) b))
28.9b
(+.f64 y (fma.f64 z (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) (fma.f64 (+.f64 a -1/2) b x)))
0.1b
(+.f64 y (fma.f64 z (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) (fma.f64 (+.f64 a -1/2) b x)))
Compiler

Compiled 664 to 474 computations (28.6% saved)

localize82.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 a -1/2) b x)
0.0b
(log.f64 (/.f64 (E.f64) t))
0.1b
(fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x))
0.4b
(/.f64 (E.f64) t)
Compiler

Compiled 56 to 24 computations (57.1% saved)

series90.0ms (0.5%)

Counts
3 → 76
Calls

21 calls:

TimeVariablePointExpression
35.0ms
z
@0
(fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x))
17.0ms
t
@-inf
(fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x))
16.0ms
t
@0
(fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x))
9.0ms
t
@inf
(fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x))
2.0ms
a
@0
(fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x))

rewrite91.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
621×log-prod_binary64
381×pow-prod-down_binary64
364×pow2_binary64
253×pow1/3_binary64
251×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify129.0ms (0.8%)

Algorithm
egg-herbie
Rules
988×fma-def_binary64
731×sub-neg_binary64
545×unsub-neg_binary64
506×distribute-rgt-in_binary64
372×+-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0461127
11191062
22191062
35251062
415241046
527561046
642751046
757981046
875351046
Stop Event
node limit
Counts
221 → 174
Calls
Call 1
Inputs
(/.f64 (exp.f64 1) t)
(/.f64 (exp.f64 1) t)
(/.f64 (exp.f64 1) t)
(/.f64 (exp.f64 1) t)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
Outputs
(/.f64 (exp.f64 1) t)
(/.f64 (E.f64) t)
(/.f64 (exp.f64 1) t)
(/.f64 (E.f64) t)
(/.f64 (exp.f64 1) t)
(/.f64 (E.f64) t)
(/.f64 (exp.f64 1) t)
(/.f64 (E.f64) t)
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) x))
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) x))
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) x))
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) x))
(+.f64 x (fma.f64 (+.f64 a -1/2) b (fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 -1/2 b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 b -1/2 (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 b -1/2 x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z (*.f64 (+.f64 a -1/2) b))
(fma.f64 z (-.f64 1 (log.f64 t)) (*.f64 (+.f64 a -1/2) b))
(fma.f64 (log.f64 t) (neg.f64 z) (fma.f64 (+.f64 a -1/2) b z))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 z (log.f64 t)))
(-.f64 z (fma.f64 z (log.f64 t) (*.f64 b (-.f64 1/2 a))))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (log.f64 (/.f64 (E.f64) t)) z x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 z (-.f64 1 (log.f64 t)) x))
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (*.f64 -1 (log.f64 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 1 (log.f64 (/.f64 1 t)))
(+.f64 1 (neg.f64 (log.f64 t)))
(-.f64 1 (log.f64 t))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))
(+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)))
(-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))
(+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)))
(-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))
(+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)))
(-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t))
(+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t)))
(+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))
(+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)))
(-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t))

localize6.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 30 to 17 computations (43.3% saved)

series5.0ms (0%)

Counts
2 → 44
Calls

15 calls:

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

rewrite82.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
923×prod-diff_binary64
444×log-prod_binary64
298×pow-prod-down_binary64
288×fma-def_binary64
252×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify243.0ms (1.5%)

Algorithm
egg-herbie
Rules
988×distribute-rgt-in_binary64
788×unsub-neg_binary64
426×sub-neg_binary64
395×distribute-neg-in_binary64
378×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
026446
154402
2101402
3243402
4706402
51895402
64600402
76186402
87026402
97432402
107617402
117655402
127661402
137661402
147661402
157684402
167684402
Stop Event
node limit
Counts
141 → 107
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
y
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
y
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
y
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
Outputs
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 z (-.f64 1 (log.f64 t)))
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
y
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
y
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(fma.f64 z (-.f64 1 (log.f64 t)) y)
y
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)

localize47.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 z (log.f64 t)))
0.1b
(-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2))
0.2b
(pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)
0.3b
(*.f64 z (log.f64 t))
Compiler

Compiled 80 to 30 computations (62.5% saved)

series17.0ms (0.1%)

Counts
3 → 60
Calls

24 calls:

TimeVariablePointExpression
3.0ms
y
@inf
(-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2))
2.0ms
z
@0
(pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)
1.0ms
z
@-inf
(pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)
1.0ms
t
@-inf
(pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)
1.0ms
t
@inf
(pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)

rewrite98.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
749×fma-def_binary64
651×log-prod_binary64
338×fma-neg_binary64
248×expm1-udef_binary64
248×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify150.0ms (0.9%)

Algorithm
egg-herbie
Rules
701×fma-neg_binary64
460×sub-neg_binary64
382×unsub-neg_binary64
320×distribute-rgt-neg-in_binary64
293×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
034695
187687
2240687
3708623
42434591
55059591
66460591
77742591
Stop Event
node limit
Counts
275 → 235
Calls
Call 1
Inputs
(*.f64 z (log.f64 t))
(*.f64 z (log.f64 t))
(*.f64 z (log.f64 t))
(*.f64 z (log.f64 t))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(-.f64 (+.f64 y z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 y x)
(+.f64 y (+.f64 z x))
z
z
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
Outputs
(*.f64 z (log.f64 t))
(*.f64 z (log.f64 t))
(*.f64 z (log.f64 t))
(*.f64 z (log.f64 t))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 z (log.f64 t))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 z (log.f64 t))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 z (log.f64 t))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z))
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 z (log.f64 t))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z)
(*.f64 z (log.f64 t))
(-.f64 (+.f64 y z) (*.f64 z (log.f64 t)))
(+.f64 y (-.f64 z (*.f64 z (log.f64 t))))
(+.f64 z (-.f64 y (*.f64 z (log.f64 t))))
(fma.f64 (fma.f64 (log.f64 t) -1 1) z y)
(fma.f64 (-.f64 1 (log.f64 t)) z y)
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
x
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 z x) (*.f64 z (log.f64 t)))
(+.f64 z (-.f64 x (*.f64 z (log.f64 t))))
(fma.f64 (fma.f64 (log.f64 t) -1 1) z x)
(fma.f64 (-.f64 1 (log.f64 t)) z x)
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
y
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 y x)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
z
z
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 y (+.f64 z x)) (*.f64 z (log.f64 t)))
(+.f64 (+.f64 z y) (-.f64 x (*.f64 z (log.f64 t))))
(+.f64 y (-.f64 (+.f64 z x) (*.f64 z (log.f64 t))))
(+.f64 y (fma.f64 (fma.f64 (log.f64 t) -1 1) z x))
(+.f64 y (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 t) (neg.f64 z))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 t) (neg.f64 z))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 t) (neg.f64 z))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 t) (neg.f64 z))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 t))))))
(sqrt.f64 (*.f64 z (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 t)))))
(sqrt.f64 (*.f64 z (log.f64 t)))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 t))))))
(sqrt.f64 (*.f64 z (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 t)))))
(sqrt.f64 (*.f64 z (log.f64 t)))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 t))))))
(sqrt.f64 (*.f64 z (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 t)))))
(sqrt.f64 (*.f64 z (log.f64 t)))
(sqrt.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(sqrt.f64 (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 t))))))
(sqrt.f64 (*.f64 z (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 t)))))
(sqrt.f64 (*.f64 z (log.f64 t)))

localize64.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 a -1/2) b x)
0.1b
(fma.f64 z (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) (fma.f64 (+.f64 a -1/2) b x))
0.5b
(cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3))
0.7b
(pow.f64 (-.f64 1 (log.f64 t)) 3)
Compiler

Compiled 75 to 45 computations (40% saved)

series9.0ms (0.1%)

Counts
3 → 80
Calls

21 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
(fma.f64 z (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) (fma.f64 (+.f64 a -1/2) b x))
1.0ms
t
@0
(pow.f64 (-.f64 1 (log.f64 t)) 3)
1.0ms
t
@-inf
(pow.f64 (-.f64 1 (log.f64 t)) 3)
1.0ms
t
@inf
(pow.f64 (-.f64 1 (log.f64 t)) 3)
0.0ms
z
@-inf
(fma.f64 z (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) (fma.f64 (+.f64 a -1/2) b x))

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
647×log-prod_binary64
397×pow2_binary64
332×prod-diff_binary64
272×expm1-udef_binary64
271×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify78.0ms (0.5%)

Algorithm
egg-herbie
Rules
1080×unsub-neg_binary64
663×sub-neg_binary64
333×fma-def_binary64
270×associate-+l-_binary64
247×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0471082
11331050
22861050
37181050
430121050
559481050
Stop Event
node limit
Counts
196 → 141
Calls
Call 1
Inputs
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 -1/2 b) x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
Outputs
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(pow.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) 3)
(pow.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) 3)
(pow.f64 (-.f64 1 (log.f64 t)) 3)
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(+.f64 (*.f64 (-.f64 a 1/2) b) x)
(fma.f64 (-.f64 a 1/2) b x)
(fma.f64 (+.f64 a -1/2) b x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (neg.f64 (log.f64 t)) z z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (neg.f64 (log.f64 t)) z z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 -1/2 b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 -1/2 b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 b -1/2 x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 a b) x)))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(fma.f64 (-.f64 1 (log.f64 t)) z x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 (*.f64 (-.f64 a 1/2) b) x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (-.f64 a 1/2) b x))
(fma.f64 (-.f64 1 (log.f64 t)) z (fma.f64 (+.f64 a -1/2) b x))
(fma.f64 (+.f64 a -1/2) b (fma.f64 (-.f64 1 (log.f64 t)) z x))

eval317.0ms (1.9%)

Compiler

Compiled 15871 to 7888 computations (50.3% saved)

prune195.0ms (1.2%)

Pruning

20 alts after pruning (18 fresh and 2 done)

PrunedKeptTotal
New77414788
Fresh8412
Picked101
Done224
Total78520805
Error
0b
Counts
805 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
39.6b
(+.f64 z (*.f64 (-.f64 a 1/2) b))
36.2b
(+.f64 y x)
38.5b
(+.f64 y (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) z))
25.0b
(+.f64 x (*.f64 (-.f64 a 1/2) b))
38.8b
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))))
27.9b
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
12.8b
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b))
50.0b
(+.f64 y (*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z))
28.7b
(+.f64 y (*.f64 (-.f64 a 1/2) b))
50.0b
(*.f64 (-.f64 1 (log.f64 t)) z)
23.2b
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))
38.7b
(+.f64 y (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3))
38.5b
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z)))
51.3b
y
38.5b
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
52.1b
(+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2))
38.9b
(+.f64 y (*.f64 a b))
57.5b
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (/.f64 1 (-.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))))
38.5b
(+.f64 y (*.f64 (log.f64 (/.f64 (E.f64) t)) z))
35.3b
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))) (*.f64 (-.f64 a 1/2) b))
Compiler

Compiled 600 to 454 computations (24.3% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 39 to 18 computations (53.8% saved)

series5.0ms (0%)

Counts
1 → 60
Calls

15 calls:

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

rewrite77.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
803×fma-def_binary64
670×log-prod_binary64
392×fma-neg_binary64
268×expm1-udef_binary64
268×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify28.0ms (0.2%)

Algorithm
egg-herbie
Rules
139×associate-+l+_binary64
74×fma-def_binary64
71×associate-+r+_binary64
48×+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024709
164709
2156709
3289709
4390709
Stop Event
saturated
Counts
149 → 109
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
z
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
z
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
y
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
y
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(+.f64 y (+.f64 z x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
Outputs
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y x))
(fma.f64 (+.f64 a -1/2) b (+.f64 y x))
(+.f64 x (fma.f64 (+.f64 a -1/2) b y))
(fma.f64 (-.f64 a 1/2) b (+.f64 y x))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
z
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
z
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 z x))
(fma.f64 (+.f64 a -1/2) b (+.f64 x z))
(fma.f64 (-.f64 a 1/2) b (+.f64 x z))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
y
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
y
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y z))
(fma.f64 (+.f64 a -1/2) b (+.f64 y z))
(+.f64 z (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b z))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
x
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x)))
(fma.f64 -1/2 b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 b -1/2 y))
(+.f64 y (fma.f64 b -1/2 (+.f64 x z)))
(+.f64 y (+.f64 x (fma.f64 b -1/2 z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) (+.f64 y (+.f64 z x))))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 x z))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))
(+.f64 (*.f64 (-.f64 a 1/2) b) (+.f64 y (+.f64 z x)))
(fma.f64 (+.f64 a -1/2) b (+.f64 y (+.f64 x z)))
(+.f64 (+.f64 x z) (fma.f64 (+.f64 a -1/2) b y))
(+.f64 y (fma.f64 (-.f64 a 1/2) b (+.f64 x z)))

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (*.f64 a b))
Compiler

Compiled 17 to 8 computations (52.9% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary64
661×add-log-exp_binary64
661×log1p-expm1-u_binary64
661×expm1-log1p-u_binary64
646×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06159
19159
210159
Stop Event
saturated
Counts
71 → 38
Calls
Call 1
Inputs
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
y
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
y
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
y
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
y
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
(+.f64 (*.f64 a b) y)
Outputs
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
y
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
y
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
y
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
y
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(*.f64 a b)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)
(+.f64 (*.f64 a b) y)
(fma.f64 a b y)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log.f64 t))
0.3b
(*.f64 (-.f64 1 (log.f64 t)) z)
Compiler

Compiled 21 to 13 computations (38.1% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (*.f64 (log.f64 (/.f64 (E.f64) t)) z))
0.0b
(log.f64 (/.f64 (E.f64) t))
0.3b
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
0.4b
(/.f64 (E.f64) t)
Compiler

Compiled 31 to 11 computations (64.5% saved)

series47.0ms (0.3%)

Counts
2 → 49
Calls

15 calls:

TimeVariablePointExpression
25.0ms
t
@0
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
15.0ms
z
@0
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
2.0ms
y
@0
(+.f64 y (*.f64 (log.f64 (/.f64 (E.f64) t)) z))
1.0ms
z
@inf
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
1.0ms
z
@-inf
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
791×prod-diff_binary64
489×log-prod_binary64
318×pow-prod-down_binary64
260×pow2_binary64
224×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify268.0ms (1.6%)

Algorithm
egg-herbie
Rules
1898×fma-neg_binary64
572×fma-def_binary64
261×distribute-rgt-in_binary64
239×unsub-neg_binary64
216×sub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036569
173508
2128508
3290500
4639492
51215492
62157492
73364492
83994492
94196492
104212492
114212492
124245492
134245492
145721492
155721492
165721492
Stop Event
saturated
Counts
124 → 88
Calls
Call 1
Inputs
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
y
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
y
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
y
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
Outputs
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t))))
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))))
(fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)
(*.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))))
(-.f64 z (*.f64 z (fma.f64 (log.f64 -1) -2 (log.f64 t))))
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))))
(fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)
(*.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))))
(-.f64 z (*.f64 z (fma.f64 (log.f64 -1) -2 (log.f64 t))))
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))))
(fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)
(*.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))))
(-.f64 z (*.f64 z (fma.f64 (log.f64 -1) -2 (log.f64 t))))
(*.f64 (+.f64 (log.f64 (*.f64 -1 (E.f64))) (log.f64 (/.f64 -1 t))) z)
(*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))))
(fma.f64 z (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1)) z)
(*.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))))
(-.f64 z (*.f64 z (fma.f64 (log.f64 -1) -2 (log.f64 t))))
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
y
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
y
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 z (+.f64 1 (*.f64 -1 (log.f64 t)))))
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (+.f64 1 (log.f64 (/.f64 1 t))) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))))
(fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) y)
(fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) y)
(fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) y)
(fma.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (fma.f64 (log.f64 -1) -2 (log.f64 t))) y)
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))))
(fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) y)
(fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) y)
(fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) y)
(fma.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (fma.f64 (log.f64 -1) -2 (log.f64 t))) y)
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))))
(fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) y)
(fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) y)
(fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) y)
(fma.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (fma.f64 (log.f64 -1) -2 (log.f64 t))) y)
(+.f64 y (*.f64 (+.f64 (log.f64 (*.f64 -1 (exp.f64 1))) (log.f64 (/.f64 -1 t))) z))
(+.f64 y (*.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t)))))
(fma.f64 z (+.f64 (log.f64 (neg.f64 (E.f64))) (log.f64 (/.f64 -1 t))) y)
(fma.f64 z (+.f64 1 (+.f64 (log.f64 (/.f64 -1 t)) (log.f64 -1))) y)
(fma.f64 z (-.f64 (fma.f64 2 (log.f64 -1) 1) (log.f64 t)) y)
(fma.f64 z (fma.f64 (log.f64 -1) 2 (-.f64 1 (log.f64 t))) y)
(fma.f64 z (-.f64 1 (fma.f64 (log.f64 -1) -2 (log.f64 t))) y)
y
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (log.f64 (/.f64 (exp.f64 1) t)) z) y)
(fma.f64 (log.f64 (/.f64 (E.f64) t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(*.f64 z (+.f64 1 (neg.f64 (log.f64 t))))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(fma.f64 (log.f64 t) (neg.f64 z) z)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log.f64 t))
0.1b
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
0.3b
(*.f64 (-.f64 1 (log.f64 t)) z)
Compiler

Compiled 50 to 31 computations (38% saved)

series11.0ms (0.1%)

Counts
2 → 20
Calls

12 calls:

TimeVariablePointExpression
2.0ms
t
@0
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
1.0ms
t
@0
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
1.0ms
z
@-inf
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
1.0ms
z
@0
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
1.0ms
t
@inf
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)

rewrite63.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
825×pow1_binary64
766×add-log-exp_binary64
765×log1p-expm1-u_binary64
765×expm1-log1p-u_binary64
750×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
120520
2213420
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 (neg.f64 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 z (neg.f64 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 (log.f64 t)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (log.f64 t)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2) (*.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) (*.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (*.f64 (sqrt.f64 z) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4)) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (log.f64 t)) (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2)) (cbrt.f64 (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (sqrt.f64 (-.f64 1 (log.f64 t)))) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 3))) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 1 (pow.f64 (log.f64 t) 2))) (+.f64 1 (log.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (/.f64 (E.f64) t) z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 1 (log.f64 t)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 (/.f64 (E.f64) t) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 t))) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 (-.f64 1 (log.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))))))))

simplify158.0ms (0.9%)

Algorithm
egg-herbie
Rules
3030×fma-neg_binary64
724×fma-def_binary64
542×unsub-neg_binary64
311×sub-neg_binary64
292×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022228
146196
289196
3218196
4619196
51655196
64557196
75927196
86477196
96643196
106704196
116713196
126713196
136721196
Stop Event
node limit
Counts
78 → 64
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
Outputs
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))
(sqrt.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z))
(sqrt.f64 (*.f64 z (-.f64 1 (neg.f64 (neg.f64 (log.f64 t))))))
(sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z))
(sqrt.f64 (-.f64 z (*.f64 (log.f64 t) z)))

eval220.0ms (1.3%)

Compiler

Compiled 8796 to 4797 computations (45.5% saved)

prune185.0ms (1.1%)

Pruning

25 alts after pruning (21 fresh and 4 done)

PrunedKeptTotal
New60415619
Fresh7613
Picked101
Done246
Total61425639
Error
0b
Counts
639 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
38.8b
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t))))))
38.5b
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
38.5b
(+.f64 y (*.f64 (*.f64 3 (-.f64 1/3 (log.f64 (cbrt.f64 t)))) z))
39.6b
(+.f64 z (*.f64 (-.f64 a 1/2) b))
36.2b
(+.f64 y x)
38.5b
(+.f64 y (*.f64 (-.f64 2/3 (log.f64 (/.f64 t (exp.f64 1/3)))) z))
25.0b
(+.f64 x (*.f64 (-.f64 a 1/2) b))
61.6b
z
38.5b
(+.f64 y (*.f64 (*.f64 1/3 (*.f64 3 (-.f64 1 (log.f64 t)))) z))
27.9b
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
35.7b
(+.f64 y (+.f64 z x))
28.7b
(+.f64 y (*.f64 (-.f64 a 1/2) b))
50.0b
(*.f64 (-.f64 1 (log.f64 t)) z)
51.3b
y
50.3b
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
50.2b
(*.f64 a b)
38.9b
(+.f64 y (*.f64 a b))
57.7b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
50.0b
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
50.1b
(-.f64 z (*.f64 z (log.f64 t)))
40.4b
(*.f64 (-.f64 a 1/2) b)
23.2b
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))
57.5b
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (/.f64 1 (-.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))))
47.5b
x
56.8b
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
Compiler

Compiled 625 to 492 computations (21.3% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 41 to 22 computations (46.3% saved)

series7.0ms (0%)

Counts
2 → 71
Calls

21 calls:

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

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
571×log-prod_binary64
538×fma-def_binary64
328×pow2_binary64
270×fma-neg_binary64
223×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify189.0ms (1.1%)

Algorithm
egg-herbie
Rules
1197×unsub-neg_binary64
456×fma-def_binary64
418×fma-neg_binary64
410×distribute-neg-in_binary64
316×distribute-neg-out_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033825
178753
2137753
3309753
4917753
52433753
64522753
76070753
87048753
97663753
107899753
117955753
127967753
137967753
Stop Event
node limit
Counts
212 → 158
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
x
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
x
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
x
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
y
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
y
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 y x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
x
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
Outputs
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
x
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
x
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
x
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(fma.f64 (-.f64 1 (neg.f64 (neg.f64 (log.f64 t)))) z x)
(fma.f64 z (-.f64 1 (log.f64 t)) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
y
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
y
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z) x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 y x)
(+.f64 x y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 z (-.f64 1 (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) y)
(fma.f64 (-.f64 1 (log.f64 t)) z y)
(fma.f64 z (-.f64 1 (log.f64 t)) y)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
x
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))
(+.f64 (*.f64 z (-.f64 1 (log.f64 t))) (+.f64 y x))
(+.f64 (fma.f64 (-.f64 1 (log.f64 t)) z y) x)
(+.f64 x (fma.f64 z (-.f64 1 (log.f64 t)) y))
(fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))

localize7.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 16 computations (36% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite72.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

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

simplify16.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
015253
134253
246253
Stop Event
saturated
Counts
102 → 75
Calls
Call 1
Inputs
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
y
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
y
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 -1/2 b) y)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) y))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) y))
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) y))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
y
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
Outputs
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
y
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
y
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 -1/2 b) y)
(fma.f64 -1/2 b y)
(fma.f64 b -1/2 y)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) y))
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) y))
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) y))
(fma.f64 (+.f64 a -1/2) b y)
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(fma.f64 (+.f64 a -1/2) b y)
(*.f64 a b)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) y))
(fma.f64 (+.f64 a -1/2) b y)
y
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)
(+.f64 (*.f64 (-.f64 a 1/2) b) y)
(fma.f64 (+.f64 a -1/2) b y)

localize58.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
0.0b
(*.f64 (-.f64 a 1/2) b)
0.3b
(-.f64 z (*.f64 z (log.f64 t)))
0.3b
(*.f64 z (log.f64 t))
Compiler

Compiled 43 to 19 computations (55.8% saved)

series9.0ms (0.1%)

Counts
2 → 68
Calls

18 calls:

TimeVariablePointExpression
2.0ms
z
@-inf
(-.f64 z (*.f64 z (log.f64 t)))
0.0ms
a
@0
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
0.0ms
z
@0
(-.f64 z (*.f64 z (log.f64 t)))
0.0ms
z
@inf
(-.f64 z (*.f64 z (log.f64 t)))
0.0ms
t
@-inf
(-.f64 z (*.f64 z (log.f64 t)))

rewrite107.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
699×fma-def_binary64
677×log-prod_binary64
330×fma-neg_binary64
254×pow1/3_binary64
254×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify333.0ms (2%)

Algorithm
egg-herbie
Rules
919×fma-def_binary64
667×distribute-rgt-in_binary64
568×unsub-neg_binary64
499×sub-neg_binary64
489×distribute-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046873
1124873
2265873
3710873
41789873
54438873
65566873
76438873
86777873
96888873
106892873
116892873
126896873
136916873
146916873
157392873
Stop Event
node limit
Counts
248 → 199
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 (-.f64 a 1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (*.f64 (-.f64 a 1/2) b))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (*.f64 (-.f64 a 1/2) b))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(-.f64 (+.f64 (*.f64 -1/2 b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) (*.f64 z (log.f64 t)))
(*.f64 a b)
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(*.f64 a b)
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(*.f64 (-.f64 a 1/2) b)
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(*.f64 (-.f64 a 1/2) b)
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
Outputs
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 z (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 (log.f64 t))) z) (*.f64 (-.f64 a 1/2) b))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 t)) z)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))) z))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) z) (*.f64 z (log.f64 t)))
(-.f64 (fma.f64 -1/2 b z) (*.f64 (log.f64 t) z))
(-.f64 (fma.f64 b -1/2 z) (*.f64 (log.f64 t) z))
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 a b) (+.f64 (*.f64 -1/2 b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(*.f64 a b)
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(*.f64 a b)
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) (+.f64 (*.f64 a b) z)) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(*.f64 (-.f64 a 1/2) b)
(*.f64 (+.f64 a -1/2) b)
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 (-.f64 a 1/2) b) z) (*.f64 z (log.f64 t)))
(fma.f64 (-.f64 1 (log.f64 t)) z (*.f64 (+.f64 a -1/2) b))
(-.f64 (fma.f64 (+.f64 a -1/2) b z) (*.f64 (log.f64 t) z))
(fma.f64 (+.f64 a -1/2) b (-.f64 z (*.f64 (log.f64 t) z)))

localize39.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log.f64 t))
0.0b
(log1p.f64 (-.f64 1 (log.f64 t)))
0.2b
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
0.6b
(expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t))))
Compiler

Compiled 34 to 22 computations (35.3% saved)

series140.0ms (0.8%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
89.0ms
t
@inf
(log1p.f64 (-.f64 1 (log.f64 t)))
28.0ms
t
@0
(log1p.f64 (-.f64 1 (log.f64 t)))
18.0ms
t
@-inf
(log1p.f64 (-.f64 1 (log.f64 t)))
1.0ms
t
@inf
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
1.0ms
t
@0
(expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t))))

rewrite78.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
766×pow1_binary64
707×add-log-exp_binary64
707×expm1-log1p-u_binary64
706×log1p-expm1-u_binary64
693×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify139.0ms (0.8%)

Algorithm
egg-herbie
Rules
816×fma-neg_binary64
742×unsub-neg_binary64
594×sub-neg_binary64
589×associate--l-_binary64
526×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027384
157384
2110384
3263384
4745384
52123384
63779384
75202384
85625384
95758384
105783384
116589384
Stop Event
node limit
Counts
116 → 76
Calls
Call 1
Inputs
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
Outputs
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t)))))
(-.f64 1 (log.f64 t))
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 t)))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(*.f64 (-.f64 1 (log.f64 t)) z)
(-.f64 z (*.f64 (log.f64 t) z))
(fma.f64 (log.f64 t) (neg.f64 z) z)
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (*.f64 -1 (log.f64 (/.f64 1 t)))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (log.f64 t)))
(log.f64 (-.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 t))))))
(log.f64 (-.f64 2 (log.f64 t)))

eval256.0ms (1.5%)

Compiler

Compiled 11583 to 6178 computations (46.7% saved)

prune160.0ms (1%)

Pruning

27 alts after pruning (20 fresh and 7 done)

PrunedKeptTotal
New7049713
Fresh51116
Picked011
Done268
Total71127738
Error
0b
Counts
738 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
41.3b
(+.f64 (*.f64 -1/2 b) y)
38.5b
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
38.5b
(+.f64 y (*.f64 (*.f64 3 (-.f64 1/3 (log.f64 (cbrt.f64 t)))) z))
50.1b
(-.f64 z (*.f64 z (log.f64 t)))
39.6b
(+.f64 z (*.f64 (-.f64 a 1/2) b))
36.2b
(+.f64 y x)
38.5b
(+.f64 y (*.f64 (-.f64 2/3 (log.f64 (/.f64 t (exp.f64 1/3)))) z))
50.0b
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
25.0b
(+.f64 x (*.f64 (-.f64 a 1/2) b))
61.6b
z
38.5b
(+.f64 y (*.f64 (*.f64 1/3 (*.f64 3 (-.f64 1 (log.f64 t)))) z))
40.4b
(*.f64 (-.f64 a 1/2) b)
57.7b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
40.3b
(-.f64 (+.f64 (*.f64 -1/2 b) z) (*.f64 z (log.f64 t)))
35.7b
(+.f64 y (+.f64 z x))
28.7b
(+.f64 y (*.f64 (-.f64 a 1/2) b))
50.0b
(*.f64 (-.f64 1 (log.f64 t)) z)
51.3b
y
50.2b
(*.f64 a b)
34.8b
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
38.9b
(+.f64 y (*.f64 a b))
57.5b
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (/.f64 1 (-.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))))
50.3b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t)))))
50.3b
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
47.5b
x
56.8b
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
37.8b
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 b a))
Compiler

Compiled 367 to 290 computations (21% saved)

regimes596.0ms (3.6%)

Counts
57 → 1
Calls
Call 1
Inputs
z
y
x
y
(*.f64 a b)
(+.f64 y x)
(+.f64 (*.f64 -1/2 b) y)
(+.f64 y (+.f64 z x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 y (*.f64 a b))
(+.f64 z (*.f64 (-.f64 a 1/2) b))
(+.f64 x (*.f64 (-.f64 a 1/2) b))
(+.f64 y (*.f64 (-.f64 a 1/2) b))
(+.f64 y (*.f64 (-.f64 a 1/2) b))
(+.f64 x (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b))
(-.f64 z (*.f64 z (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) z) (*.f64 z (log.f64 t)))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 b a))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))
(+.f64 y (*.f64 (*.f64 1/3 (*.f64 3 (-.f64 1 (log.f64 t)))) z))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(+.f64 y (*.f64 (log.f64 (/.f64 (E.f64) t)) z))
(+.f64 y (*.f64 (*.f64 3 (-.f64 1/3 (log.f64 (cbrt.f64 t)))) z))
(+.f64 y (*.f64 (-.f64 2/3 (log.f64 (/.f64 t (exp.f64 1/3)))) z))
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(+.f64 y (*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z))
(+.f64 y (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) z))
(+.f64 y (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3))
(+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b))
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (/.f64 1 (-.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))))
(+.f64 y (fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x)))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t)))))
(+.f64 (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 3) (*.f64 (-.f64 a 1/2) b))
(+.f64 (pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (+.f64 x y))) 2) (*.f64 (-.f64 a 1/2) b))
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) z) (+.f64 1 (*.f64 (log.f64 t) (+.f64 1 (log.f64 t))))))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 (*.f64 z (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)))) (*.f64 (-.f64 a 1/2) b))
(+.f64 y (fma.f64 z (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 y (fma.f64 z (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 (fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (log.f64 t))) (sqrt.f64 (log.f64 t)) (+.f64 y (+.f64 x z))) (*.f64 (-.f64 a 1/2) b))
(+.f64 y (fma.f64 z (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (/.f64 1 (+.f64 1 (log.f64 t)))) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 (fma.f64 (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (sqrt.f64 (*.f64 z (neg.f64 (log.f64 t)))) (+.f64 y (+.f64 x z))) (*.f64 (-.f64 a 1/2) b))
Outputs
(+.f64 y (fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x)))
Calls

17 calls:

51.0ms
b
50.0ms
a
43.0ms
t
37.0ms
y
36.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
0.0b1(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
0.0b1(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
0.0b1(+.f64 x y)
0.0b1(+.f64 x y)
0.0b1(log.f64 t)
0.0b1(log.f64 t)
0.0b1(*.f64 (-.f64 a 1/2) b)
0.0b1(*.f64 (-.f64 a 1/2) b)
0.0b1(-.f64 a 1/2)
0.0b1(-.f64 a 1/2)
Compiler

Compiled 774 to 445 computations (42.5% saved)

regimes483.0ms (2.9%)

Counts
46 → 1
Calls
Call 1
Inputs
z
y
x
y
(*.f64 a b)
(+.f64 y x)
(+.f64 (*.f64 -1/2 b) y)
(+.f64 y (+.f64 z x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 y (*.f64 a b))
(+.f64 z (*.f64 (-.f64 a 1/2) b))
(+.f64 x (*.f64 (-.f64 a 1/2) b))
(+.f64 y (*.f64 (-.f64 a 1/2) b))
(+.f64 y (*.f64 (-.f64 a 1/2) b))
(+.f64 x (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b))
(-.f64 z (*.f64 z (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) z) (*.f64 z (log.f64 t)))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 b a))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))
(+.f64 y (*.f64 (*.f64 1/3 (*.f64 3 (-.f64 1 (log.f64 t)))) z))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(+.f64 y (*.f64 (log.f64 (/.f64 (E.f64) t)) z))
(+.f64 y (*.f64 (*.f64 3 (-.f64 1/3 (log.f64 (cbrt.f64 t)))) z))
(+.f64 y (*.f64 (-.f64 2/3 (log.f64 (/.f64 t (exp.f64 1/3)))) z))
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(+.f64 y (*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z))
(+.f64 y (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) z))
(+.f64 y (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3))
(+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 y (/.f64 (*.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) z) (+.f64 1 (log.f64 t))))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (pow.f64 (sqrt.f64 (*.f64 z (log.f64 t))) 2)) (*.f64 (-.f64 a 1/2) b))
(*.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 (-.f64 1 (log.f64 t)) z) 2)) (/.f64 1 (-.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))))
Outputs
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))
Calls

16 calls:

88.0ms
y
29.0ms
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
29.0ms
a
28.0ms
(log.f64 t)
28.0ms
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
0.0b1(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
0.0b1(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
0.0b1(+.f64 x y)
0.0b1(+.f64 x y)
0.0b1(log.f64 t)
0.0b1(*.f64 (-.f64 a 1/2) b)
0.0b1(*.f64 (-.f64 a 1/2) b)
0.0b1(-.f64 a 1/2)
0.0b1(-.f64 a 1/2)
Compiler

Compiled 556 to 332 computations (40.3% saved)

regimes462.0ms (2.8%)

Counts
42 → 1
Calls
Call 1
Inputs
z
y
x
y
(*.f64 a b)
(+.f64 y x)
(+.f64 (*.f64 -1/2 b) y)
(+.f64 y (+.f64 z x))
(*.f64 (-.f64 a 1/2) b)
(+.f64 y (*.f64 a b))
(+.f64 z (*.f64 (-.f64 a 1/2) b))
(+.f64 x (*.f64 (-.f64 a 1/2) b))
(+.f64 y (*.f64 (-.f64 a 1/2) b))
(+.f64 y (*.f64 (-.f64 a 1/2) b))
(+.f64 x (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b))
(-.f64 z (*.f64 z (log.f64 t)))
(-.f64 z (*.f64 z (log.f64 t)))
(*.f64 (-.f64 1 (log.f64 t)) z)
(+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)
(+.f64 y (*.f64 (-.f64 1 (log.f64 t)) z))
(+.f64 y (-.f64 z (*.f64 (log.f64 t) z)))
(-.f64 (+.f64 (*.f64 -1/2 b) z) (*.f64 z (log.f64 t)))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 b a))
(+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x))
(+.f64 y (*.f64 (*.f64 1/3 (*.f64 3 (-.f64 1 (log.f64 t)))) z))
(+.f64 (-.f64 z (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(*.f64 (log.f64 (/.f64 (E.f64) t)) z)
(+.f64 y (*.f64 (log.f64 (/.f64 (E.f64) t)) z))
(+.f64 y (*.f64 (*.f64 3 (-.f64 1/3 (log.f64 (cbrt.f64 t)))) z))
(+.f64 y (*.f64 (-.f64 2/3 (log.f64 (/.f64 t (exp.f64 1/3)))) z))
(*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2)
(+.f64 y (*.f64 (expm1.f64 (log1p.f64 (-.f64 1 (log.f64 t)))) z))
(+.f64 y (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 t)) 3)) z))
(+.f64 y (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 3))
(+.f64 y (pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (log.f64 t)) z)) 2))
Outputs
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
Calls

12 calls:

83.0ms
(+.f64 x y)
77.0ms
(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
39.0ms
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
39.0ms
(*.f64 (-.f64 a 1/2) b)
39.0ms
b
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
0.1b1a
0.1b1b
0.1b1(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
0.1b1(-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t)))
0.1b1(+.f64 x y)
0.1b1(log.f64 t)
0.1b1(*.f64 (-.f64 a 1/2) b)
0.1b1(-.f64 a 1/2)
Compiler

Compiled 440 to 259 computations (41.1% saved)

regimes485.0ms (2.9%)

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

10 calls:

79.0ms
x
73.0ms
a
54.0ms
z
53.0ms
b
45.0ms
t
Results
ErrorSegmentsBranch
7.7b6x
11.5b3y
5.0b3z
11.5b3t
10.3b5a
6.7b3b
11.5b3(log.f64 t)
5.3b3(*.f64 (-.f64 a 1/2) b)
11.6b3(-.f64 a 1/2)
11.6b3(-.f64 a 1/2)
Compiler

Compiled 257 to 150 computations (41.6% saved)

bsearch70.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
7.734564894876411e+164
3.2484372387023194e+168
36.0ms
-7.368873225820934e+104
-7.697335997843754e+102
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes439.0ms (2.6%)

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

10 calls:

71.0ms
a
64.0ms
b
59.0ms
x
54.0ms
(*.f64 (-.f64 a 1/2) b)
49.0ms
z
Results
ErrorSegmentsBranch
10.6b5x
12.8b1y
6.0b3z
11.5b3t
10.4b5a
10.9b3b
11.5b3(log.f64 t)
10.1b5(*.f64 (-.f64 a 1/2) b)
11.6b3(-.f64 a 1/2)
11.6b3(-.f64 a 1/2)
Compiler

Compiled 223 to 133 computations (40.4% saved)

bsearch81.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
48.0ms
7.734564894876411e+164
3.2484372387023194e+168
33.0ms
-7.368873225820934e+104
-7.697335997843754e+102
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes326.0ms (1.9%)

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

9 calls:

95.0ms
z
57.0ms
a
34.0ms
(-.f64 a 1/2)
23.0ms
(*.f64 (-.f64 a 1/2) b)
22.0ms
(log.f64 t)
Results
ErrorSegmentsBranch
12.8b1x
12.8b1y
6.9b5z
12.8b1t
11.7b3a
12.8b1b
12.8b1(log.f64 t)
12.8b1(*.f64 (-.f64 a 1/2) b)
11.7b3(-.f64 a 1/2)
Compiler

Compiled 170 to 108 computations (36.5% saved)

bsearch220.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
7.734564894876411e+164
3.2484372387023194e+168
62.0ms
-7.368873225820934e+104
-7.697335997843754e+102
64.0ms
-3.309809269377338e+130
-8.712113688225638e+127
61.0ms
-7.957361945696984e+229
-1.0990081117768975e+228
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes171.0ms (1%)

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

9 calls:

43.0ms
z
26.0ms
a
20.0ms
(log.f64 t)
16.0ms
(-.f64 a 1/2)
14.0ms
b
Results
ErrorSegmentsBranch
12.8b1x
12.8b1y
6.9b5z
12.8b1t
11.7b3a
12.8b1b
12.8b1(log.f64 t)
12.8b1(*.f64 (-.f64 a 1/2) b)
11.7b3(-.f64 a 1/2)
Compiler

Compiled 164 to 105 computations (36% saved)

bsearch127.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
7.734564894876411e+164
3.2484372387023194e+168
31.0ms
-7.368873225820934e+104
-7.697335997843754e+102
31.0ms
-3.309809269377338e+130
-8.712113688225638e+127
32.0ms
-7.957361945696984e+229
-1.0990081117768975e+228
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes74.0ms (0.4%)

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

8 calls:

10.0ms
(*.f64 (-.f64 a 1/2) b)
9.0ms
b
9.0ms
t
9.0ms
y
9.0ms
z
Results
ErrorSegmentsBranch
12.8b1x
12.8b1y
12.8b1z
12.8b1t
12.8b1a
12.8b1b
12.8b1(*.f64 (-.f64 a 1/2) b)
12.8b1(-.f64 a 1/2)
Compiler

Compiled 144 to 95 computations (34% saved)

regimes263.0ms (1.6%)

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

9 calls:

59.0ms
z
50.0ms
a
31.0ms
(*.f64 (-.f64 a 1/2) b)
31.0ms
b
22.0ms
t
Results
ErrorSegmentsBranch
16.4b2x
15.5b2y
20.9b7z
23.4b3t
21.2b7a
20.0b3b
17.4b3(*.f64 (-.f64 a 1/2) b)
23.6b3(-.f64 a 1/2)
23.6b3(-.f64 a 1/2)
Compiler

Compiled 142 to 98 computations (31% saved)

bsearch32.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
4.937679217572032e+32
5.9717612001782496e+32
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes203.0ms (1.2%)

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

9 calls:

44.0ms
z
44.0ms
a
26.0ms
b
26.0ms
(*.f64 (-.f64 a 1/2) b)
14.0ms
y
Results
ErrorSegmentsBranch
20.9b2x
16.6b2y
21.4b7z
25.0b1t
21.2b7a
20.0b3b
18.2b3(*.f64 (-.f64 a 1/2) b)
23.6b3(-.f64 a 1/2)
23.6b3(-.f64 a 1/2)
Compiler

Compiled 121 to 86 computations (28.9% saved)

bsearch33.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
1.8520332402366603e+133
5.502364381307492e+134
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes294.0ms (1.8%)

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

9 calls:

56.0ms
t
49.0ms
a
43.0ms
b
42.0ms
x
30.0ms
z
Results
ErrorSegmentsBranch
21.8b7x
25.5b3y
31.9b4z
28.9b9t
24.6b7a
23.2b7b
22.8b3(*.f64 (-.f64 a 1/2) b)
29.0b3(-.f64 a 1/2)
29.0b3(-.f64 a 1/2)
Compiler

Compiled 114 to 82 computations (28.1% saved)

bsearch185.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
30.0ms
8.260166438081532e-172
4.510025834651792e-170
31.0ms
-5.937989269784567e-30
-2.982268514792094e-31
31.0ms
-1.3922257745236152e+20
-11597718527.690525
31.0ms
-5.102154439782116e+90
-5.564711191350851e+87
30.0ms
-1.9456712574625998e+141
-2.660466911657934e+140
31.0ms
-1.519209433235064e+169
-6.851022244064351e+168
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes483.0ms (2.9%)

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

9 calls:

241.0ms
t
52.0ms
y
45.0ms
a
39.0ms
b
28.0ms
x
Results
ErrorSegmentsBranch
23.2b5x
26.1b3y
32.2b4z
29.1b9t
24.6b7a
23.3b7b
22.8b3(*.f64 (-.f64 a 1/2) b)
29.0b3(-.f64 a 1/2)
29.0b3(-.f64 a 1/2)
Compiler

Compiled 107 to 78 computations (27.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.212582237817373e+177
3.602151161772815e+181
0.0ms
-6.853029499879438e+63
-1.0119354842118525e+62
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes269.0ms (1.6%)

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

6 calls:

59.0ms
a
54.0ms
y
48.0ms
x
43.0ms
b
35.0ms
t
Results
ErrorSegmentsBranch
25.7b7x
31.5b5y
33.9b3z
34.4b3t
26.0b9a
27.3b5b
Compiler

Compiled 68 to 49 computations (27.9% saved)

bsearch275.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
52.0ms
4.175954560451962e-266
1.2798920604969156e-258
49.0ms
-9.191135023346093e-288
-5.116177616685742e-288
33.0ms
-4.372040017977281e-78
-1.4994422896073765e-79
32.0ms
-3.0979979443249815e-34
-2.2349869102272185e-34
47.0ms
-1.9456712574625998e+141
-2.660466911657934e+140
62.0ms
-1.519209433235064e+169
-6.851022244064351e+168
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes228.0ms (1.4%)

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

6 calls:

71.0ms
a
48.0ms
y
34.0ms
x
31.0ms
b
26.0ms
t
Results
ErrorSegmentsBranch
25.7b7x
31.7b5y
35.1b2z
33.7b5t
27.1b7a
27.6b6b
Compiler

Compiled 63 to 47 computations (25.4% saved)

bsearch307.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
4.175954560451962e-266
1.2798920604969156e-258
34.0ms
-9.191135023346093e-288
-5.116177616685742e-288
42.0ms
-4.372040017977281e-78
-1.4994422896073765e-79
73.0ms
-3.0979979443249815e-34
-2.2349869102272185e-34
84.0ms
-1.9456712574625998e+141
-2.660466911657934e+140
40.0ms
-1.519209433235064e+169
-6.851022244064351e+168
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes236.0ms (1.4%)

Counts
6 → 7
Calls
Call 1
Inputs
z
y
x
y
(*.f64 a b)
(+.f64 y x)
Outputs
(+.f64 y x)
(*.f64 a b)
(+.f64 y x)
(*.f64 a b)
(+.f64 y x)
(*.f64 a b)
(+.f64 y x)
Calls

6 calls:

78.0ms
x
48.0ms
y
37.0ms
b
30.0ms
a
29.0ms
t
Results
ErrorSegmentsBranch
30.9b7x
33.7b5y
36.2b1z
35.0b3t
31.7b3a
33.8b5b
Compiler

Compiled 58 to 44 computations (24.1% saved)

bsearch369.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
40.0ms
1.1180995783023715e-246
5.639306418052146e-244
56.0ms
-5.239469094375334e-115
-1.5663563533518691e-124
36.0ms
-1.4994422896073765e-79
-3.6581276939056976e-84
119.0ms
-3.0979979443249815e-34
-2.2349869102272185e-34
60.0ms
-1.9456712574625998e+141
-2.660466911657934e+140
57.0ms
-1.519209433235064e+169
-6.851022244064351e+168
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes214.0ms (1.3%)

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

6 calls:

68.0ms
z
55.0ms
a
29.0ms
x
25.0ms
b
21.0ms
t
Results
ErrorSegmentsBranch
34.8b5x
35.9b3y
43.0b7z
44.8b4t
39.7b5a
41.4b5b
Compiler

Compiled 55 to 43 computations (21.8% saved)

bsearch133.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
1.1180995783023715e-246
5.639306418052146e-244
33.0ms
-3.0979979443249815e-34
-2.2349869102272185e-34
31.0ms
-1.9456712574625998e+141
-2.660466911657934e+140
35.0ms
-1.519209433235064e+169
-6.851022244064351e+168
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes132.0ms (0.8%)

Counts
4 → 2
Calls
Call 1
Inputs
z
y
x
y
Outputs
x
y
Calls

6 calls:

59.0ms
t
19.0ms
a
18.0ms
b
15.0ms
z
11.0ms
x
Results
ErrorSegmentsBranch
39.4b2x
38.5b2y
45.8b3z
46.0b3t
45.2b5a
46.3b3b
Compiler

Compiled 52 to 42 computations (19.2% saved)

bsearch61.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
8.016134672785661e+35
6.472923499933098e+38
Compiler

Compiled 31 to 23 computations (25.8% saved)

regimes24.0ms (0.1%)

Accuracy

Total -11.5b remaining (-22.5%)

Threshold costs -11.5b (-22.5%)

Counts
2 → 1
Calls
Call 1
Inputs
z
y
Outputs
y
Calls

6 calls:

5.0ms
a
4.0ms
x
3.0ms
y
3.0ms
b
3.0ms
z
Results
ErrorSegmentsBranch
51.3b1x
51.3b1y
51.3b1z
51.3b1t
51.3b1a
51.3b1b
Compiler

Compiled 50 to 42 computations (16% saved)

simplify57.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0130785
1166785
2181785
3187785
4190785
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 y (fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(if (<=.f64 z -79573619456969835383839292492583933340042145595273437773818629418616942619173094341040244404746184453615863012881384256624584517405205996720110299008364533347106804134229154633709469524085385745580305339585527532593232532884946944) (*.f64 (-.f64 1 (log.f64 t)) z) (if (<=.f64 z -33098092693773378916625962794920041477175239822769551844555529174989030748204552406089875100151436364743459720997347406585654149120) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (*.f64 (-.f64 1 (log.f64 t)) z) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (*.f64 (-.f64 1 (log.f64 t)) z)))))
(if (<=.f64 z -79573619456969835383839292492583933340042145595273437773818629418616942619173094341040244404746184453615863012881384256624584517405205996720110299008364533347106804134229154633709469524085385745580305339585527532593232532884946944) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z -33098092693773378916625962794920041477175239822769551844555529174989030748204552406089875100151436364743459720997347406585654149120) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (-.f64 z (*.f64 z (log.f64 t)))))))
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b))
(if (<=.f64 y 493767921757203185386380897288192) (+.f64 x (*.f64 (-.f64 a 1/2) b)) (+.f64 y (*.f64 (-.f64 a 1/2) b)))
(if (<=.f64 y 18520332402366602959473666044577720927267314901377209884851865488578034503945098662750044295506733228693274358252131551646920139079680) (+.f64 x (*.f64 (-.f64 a 1/2) b)) (+.f64 y (*.f64 a b)))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 x -5102154439782115768092655774070953462706289636713357908110950140886803257356012433572888576) (+.f64 y x) (if (<=.f64 x -139222577452361515008) (+.f64 z (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 x -8474981484612771/1427247692705959881058285969449495136382746624) (+.f64 y (+.f64 z x)) (if (<=.f64 x 7188133023342673/8702164874309912144930213176155645990168053640839691029699692760275411924760203145038438437113516616399082774302662672635438355868101955410485575332111767174247731541367082500615833649152) (+.f64 z (*.f64 (-.f64 a 1/2) b)) (+.f64 y (*.f64 a b))))))))
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -5000000000000000106602095047271984361506289356339824733871669248) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 4000000000000000029795922008297279565767979754332615489438570165250559409871264641054879505495628233633862410411138585134901735331239092732362276964464955348386155589441756856320) (+.f64 y (+.f64 z x)) (*.f64 (-.f64 a 1/2) b)))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y (+.f64 z x)) (if (<=.f64 x -4559873436976023/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (*.f64 a b) (if (<=.f64 x -6302963383888955/685765508599211085406992031398401158759299079491541508764000248557024672719959118395646962442045349201660590667234013968119772982843080987903012964780708787451812337588750783066948774723991753080189067657794974398949244241113521123786594812548932026532556574571938698730267509225767960757581162756440064) (+.f64 (*.f64 -1/2 b) y) (if (<=.f64 x 6064174844166969/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (*.f64 a b) (+.f64 (*.f64 -1/2 b) y)))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y x) (if (<=.f64 x -4559873436976023/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (*.f64 a b) (if (<=.f64 x -6302963383888955/685765508599211085406992031398401158759299079491541508764000248557024672719959118395646962442045349201660590667234013968119772982843080987903012964780708787451812337588750783066948774723991753080189067657794974398949244241113521123786594812548932026532556574571938698730267509225767960757581162756440064) (+.f64 (*.f64 -1/2 b) y) (if (<=.f64 x 6064174844166969/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (*.f64 a b) (+.f64 (*.f64 -1/2 b) y)))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y x) (if (<=.f64 x -2502179134150721/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (*.f64 a b) (if (<=.f64 x -90795732320357/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (+.f64 y x) (if (<=.f64 x 4400952849404785/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 a b) (+.f64 y x)))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) x (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) x (if (<=.f64 x 4400952849404785/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 a b) y))))
(if (<=.f64 y 801613467278566111631224415306383360) x y)
y
z
Outputs
(+.f64 y (fma.f64 z (log.f64 (/.f64 (E.f64) t)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 y (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (+.f64 a -1/2) b x)))
(+.f64 (-.f64 (+.f64 (+.f64 x y) z) (*.f64 z (log.f64 t))) (*.f64 (-.f64 a 1/2) b))
(+.f64 (-.f64 (+.f64 z (+.f64 y x)) (*.f64 z (log.f64 t))) (*.f64 b (+.f64 a -1/2)))
(if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (+.f64 y (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (+.f64 y (+.f64 x (*.f64 z (-.f64 1 (log.f64 t))))) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2))) (+.f64 x (*.f64 z (-.f64 1 (log.f64 t))))))
(if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (+.f64 (*.f64 (-.f64 1 (log.f64 t)) z) x)))
(if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (+.f64 x (*.f64 z (-.f64 1 (log.f64 t)))) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2))) (+.f64 x (*.f64 z (-.f64 1 (log.f64 t))))))
(if (<=.f64 z -79573619456969835383839292492583933340042145595273437773818629418616942619173094341040244404746184453615863012881384256624584517405205996720110299008364533347106804134229154633709469524085385745580305339585527532593232532884946944) (*.f64 (-.f64 1 (log.f64 t)) z) (if (<=.f64 z -33098092693773378916625962794920041477175239822769551844555529174989030748204552406089875100151436364743459720997347406585654149120) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (*.f64 (-.f64 1 (log.f64 t)) z) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (*.f64 (-.f64 1 (log.f64 t)) z)))))
(if (<=.f64 z -79573619456969835383839292492583933340042145595273437773818629418616942619173094341040244404746184453615863012881384256624584517405205996720110299008364533347106804134229154633709469524085385745580305339585527532593232532884946944) (*.f64 z (-.f64 1 (log.f64 t))) (if (<=.f64 z -33098092693773378916625962794920041477175239822769551844555529174989030748204552406089875100151436364743459720997347406585654149120) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2))) (if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (*.f64 z (-.f64 1 (log.f64 t))) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2))) (*.f64 z (-.f64 1 (log.f64 t)))))))
(if (<=.f64 z -79573619456969835383839292492583933340042145595273437773818629418616942619173094341040244404746184453615863012881384256624584517405205996720110299008364533347106804134229154633709469524085385745580305339585527532593232532884946944) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z -33098092693773378916625962794920041477175239822769551844555529174989030748204552406089875100151436364743459720997347406585654149120) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b)) (-.f64 z (*.f64 z (log.f64 t)))))))
(if (<=.f64 z -79573619456969835383839292492583933340042145595273437773818629418616942619173094341040244404746184453615863012881384256624584517405205996720110299008364533347106804134229154633709469524085385745580305339585527532593232532884946944) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z -33098092693773378916625962794920041477175239822769551844555529174989030748204552406089875100151436364743459720997347406585654149120) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2))) (if (<=.f64 z -736887322582093388076827161520646566658340537018630656249728225555039944211332387118132098133676489965568) (-.f64 z (*.f64 z (log.f64 t))) (if (<=.f64 z 773456489487641052864866812236311243973035611481905580301408553461749458082951719009586420618752968216231914338625220752815545831074199835801787076936880413428678656) (+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2))) (-.f64 z (*.f64 z (log.f64 t)))))))
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 (-.f64 a 1/2) b))
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 b (+.f64 a -1/2)))
(if (<=.f64 y 493767921757203185386380897288192) (+.f64 x (*.f64 (-.f64 a 1/2) b)) (+.f64 y (*.f64 (-.f64 a 1/2) b)))
(if (<=.f64 y 493767921757203185386380897288192) (+.f64 x (*.f64 b (+.f64 a -1/2))) (+.f64 y (*.f64 b (+.f64 a -1/2))))
(if (<=.f64 y 18520332402366602959473666044577720927267314901377209884851865488578034503945098662750044295506733228693274358252131551646920139079680) (+.f64 x (*.f64 (-.f64 a 1/2) b)) (+.f64 y (*.f64 a b)))
(if (<=.f64 y 18520332402366602959473666044577720927267314901377209884851865488578034503945098662750044295506733228693274358252131551646920139079680) (+.f64 x (*.f64 b (+.f64 a -1/2))) (+.f64 y (*.f64 a b)))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 x -5102154439782115768092655774070953462706289636713357908110950140886803257356012433572888576) (+.f64 y x) (if (<=.f64 x -139222577452361515008) (+.f64 z (*.f64 (-.f64 a 1/2) b)) (if (<=.f64 x -8474981484612771/1427247692705959881058285969449495136382746624) (+.f64 y (+.f64 z x)) (if (<=.f64 x 7188133023342673/8702164874309912144930213176155645990168053640839691029699692760275411924760203145038438437113516616399082774302662672635438355868101955410485575332111767174247731541367082500615833649152) (+.f64 z (*.f64 (-.f64 a 1/2) b)) (+.f64 y (*.f64 a b))))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 b (+.f64 a -1/2)) (if (<=.f64 x -5102154439782115768092655774070953462706289636713357908110950140886803257356012433572888576) (+.f64 y x) (if (<=.f64 x -139222577452361515008) (+.f64 z (*.f64 b (+.f64 a -1/2))) (if (<=.f64 x -8474981484612771/1427247692705959881058285969449495136382746624) (+.f64 y (+.f64 z x)) (if (<=.f64 x 7188133023342673/8702164874309912144930213176155645990168053640839691029699692760275411924760203145038438437113516616399082774302662672635438355868101955410485575332111767174247731541367082500615833649152) (+.f64 z (*.f64 b (+.f64 a -1/2))) (+.f64 y (*.f64 a b))))))))
(if (<=.f64 (*.f64 (-.f64 a 1/2) b) -5000000000000000106602095047271984361506289356339824733871669248) (*.f64 (-.f64 a 1/2) b) (if (<=.f64 (*.f64 (-.f64 a 1/2) b) 4000000000000000029795922008297279565767979754332615489438570165250559409871264641054879505495628233633862410411138585134901735331239092732362276964464955348386155589441756856320) (+.f64 y (+.f64 z x)) (*.f64 (-.f64 a 1/2) b)))
(if (<=.f64 (*.f64 b (+.f64 a -1/2)) -5000000000000000106602095047271984361506289356339824733871669248) (*.f64 b (+.f64 a -1/2)) (if (<=.f64 (*.f64 b (+.f64 a -1/2)) 4000000000000000029795922008297279565767979754332615489438570165250559409871264641054879505495628233633862410411138585134901735331239092732362276964464955348386155589441756856320) (+.f64 y (+.f64 z x)) (*.f64 b (+.f64 a -1/2))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y (+.f64 z x)) (if (<=.f64 x -4559873436976023/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (*.f64 a b) (if (<=.f64 x -6302963383888955/685765508599211085406992031398401158759299079491541508764000248557024672719959118395646962442045349201660590667234013968119772982843080987903012964780708787451812337588750783066948774723991753080189067657794974398949244241113521123786594812548932026532556574571938698730267509225767960757581162756440064) (+.f64 (*.f64 -1/2 b) y) (if (<=.f64 x 6064174844166969/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (*.f64 a b) (+.f64 (*.f64 -1/2 b) y)))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y (+.f64 z x)) (if (<=.f64 x -4559873436976023/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (*.f64 a b) (if (<=.f64 x -6302963383888955/685765508599211085406992031398401158759299079491541508764000248557024672719959118395646962442045349201660590667234013968119772982843080987903012964780708787451812337588750783066948774723991753080189067657794974398949244241113521123786594812548932026532556574571938698730267509225767960757581162756440064) (+.f64 y (*.f64 -1/2 b)) (if (<=.f64 x 6064174844166969/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (*.f64 a b) (+.f64 y (*.f64 -1/2 b))))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y x) (if (<=.f64 x -4559873436976023/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (*.f64 a b) (if (<=.f64 x -6302963383888955/685765508599211085406992031398401158759299079491541508764000248557024672719959118395646962442045349201660590667234013968119772982843080987903012964780708787451812337588750783066948774723991753080189067657794974398949244241113521123786594812548932026532556574571938698730267509225767960757581162756440064) (+.f64 (*.f64 -1/2 b) y) (if (<=.f64 x 6064174844166969/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (*.f64 a b) (+.f64 (*.f64 -1/2 b) y)))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y x) (if (<=.f64 x -4559873436976023/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (*.f64 a b) (if (<=.f64 x -6302963383888955/685765508599211085406992031398401158759299079491541508764000248557024672719959118395646962442045349201660590667234013968119772982843080987903012964780708787451812337588750783066948774723991753080189067657794974398949244241113521123786594812548932026532556574571938698730267509225767960757581162756440064) (+.f64 y (*.f64 -1/2 b)) (if (<=.f64 x 6064174844166969/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (*.f64 a b) (+.f64 y (*.f64 -1/2 b))))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) (+.f64 y x) (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) (+.f64 y x) (if (<=.f64 x -2502179134150721/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (*.f64 a b) (if (<=.f64 x -90795732320357/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (+.f64 y x) (if (<=.f64 x 4400952849404785/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 a b) (+.f64 y x)))))))
(if (<=.f64 x -15192094332350641472718061855577531117892873937598202316122269118933031709668984062898324343739400574942944491128816546674672993892140498437251999917656440206808722702336) x (if (<=.f64 x -1945671257462599756112639287921006786197215884038674964539514458051976439418017893761077886306512514137409437169913038760348113805054029332480) (*.f64 a b) (if (<=.f64 x -7244366508925971/23384026197294446691258957323460528314494920687616) x (if (<=.f64 x 4400952849404785/3936100983140358674171118325863157261303419813782882110237782515784158576702511753696331798193284779002326689610310857585686054524054270515222392815820422596546908348791339130466666204306680269934417552562141332061201544797059608540225005885713074181150932467712) (*.f64 a b) y))))
(if (<=.f64 y 801613467278566111631224415306383360) x y)
y
z
Compiler

Compiled 655 to 409 computations (37.6% saved)

soundness224.0ms (1.3%)

Algorithm
egg-herbie
Rules
866×fma-neg_binary64
691×sub-neg_binary64
567×unsub-neg_binary64
503×fma-def_binary64
441×+-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01624
13522
210622
332721
4104520
5288820
6434520
7631120
8718620
9751820
10762820
11763820
12775320
Stop Event
node limit
Compiler

Compiled 553 to 386 computations (30.2% saved)

end332.0ms (2%)

Remove

(sort x y)

Compiler

Compiled 587 to 299 computations (49.1% saved)

Profiling

Loading profile data...