Details

Time bar (total: 4.2s)

analyze274.0ms (6.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
12.5%87.3%0.2%10
18.7%81.1%0.2%11
25.3%74.3%0.4%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.4s (33.8%)

Results
1.1s8256×body256valid
337.0ms2020×body256invalid

preprocess22.0ms (0.5%)

Algorithm
egg-herbie
Rules
55×associate-/l*_binary64
32×associate-/r/_binary64
31×associate-/r*_binary64
30×associate-*r/_binary64
23×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02270
17370
215870
326270
428970
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
0
2
3
2
Call 2
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 b1 a2) (*.f64 a1 b2))
(/.f64 (*.f64 b2 a2) (*.f64 b1 a1))
(/.f64 (*.f64 a1 b1) (*.f64 a2 b2))
(/.f64 (*.f64 a1 b2) (*.f64 b1 a2))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(/.f64 (*.f64 b1 a2) (*.f64 a1 b2))
(*.f64 (/.f64 b1 a1) (/.f64 a2 b2))
(*.f64 (/.f64 b1 b2) (/.f64 a2 a1))
(*.f64 a2 (/.f64 b1 (*.f64 a1 b2)))
(/.f64 (*.f64 b2 a2) (*.f64 b1 a1))
(*.f64 (/.f64 b2 b1) (/.f64 a2 a1))
(*.f64 (/.f64 a2 b1) (/.f64 b2 a1))
(*.f64 a2 (/.f64 b2 (*.f64 a1 b1)))
(*.f64 b2 (/.f64 (/.f64 a2 b1) a1))
(/.f64 (*.f64 a1 b1) (*.f64 a2 b2))
(/.f64 (/.f64 (*.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 a2) (/.f64 b1 b2))
(/.f64 (/.f64 a1 a2) (/.f64 b2 b1))
(/.f64 (*.f64 a1 b2) (*.f64 b1 a2))
(*.f64 (/.f64 a1 b1) (/.f64 b2 a2))
(*.f64 (/.f64 a1 a2) (/.f64 b2 b1))
(*.f64 a1 (/.f64 (/.f64 b2 b1) a2))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
Symmetry

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify8.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11710
23810
36710
47910
57910
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))

eval0.0ms (0%)

Compiler

Compiled 18 to 9 computations (50% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
7.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
10.7b
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
12.0b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 22 to 14 computations (36.4% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
11.7b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
11.7b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))

series18.0ms (0.4%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
8.0ms
a1
@0
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
2.0ms
b1
@0
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
1.0ms
a2
@0
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
1.0ms
b2
@0
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
1.0ms
a1
@inf
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))

rewrite52.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
557×log-prod_binary64
434×exp-prod_binary64
316×pow-prod-down_binary64
256×div-exp_binary64
237×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
116910
2250310
Stop Event
node limit
Counts
1 → 73
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 1 (/.f64 b1 (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 a2 (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 a1 (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 a2) (/.f64 1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) (cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2)) (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (*.f64 (cbrt.f64 (*.f64 a1 a2)) (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a1 a2)) (*.f64 (sqrt.f64 (*.f64 a1 a2)) (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (neg.f64 a2)) (/.f64 1 (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b2) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 b1 b2)) (*.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (/.f64 b1 a1)) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 a2 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) 1) (/.f64 (sqrt.f64 (*.f64 a1 a2)) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) b1) (/.f64 (sqrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 (*.f64 a1 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) b2) (/.f64 (sqrt.f64 (*.f64 a1 a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 a2 (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b2) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 b1 b2)) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a2 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a1 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) -2) (/.f64 (*.f64 a1 a2) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 (sqrt.f64 (*.f64 a1 a2)) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a2 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a1 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 b1 b2) -1/2) (/.f64 (*.f64 a1 a2) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (sqrt.f64 (*.f64 b1 b2))) (/.f64 (cbrt.f64 (*.f64 a1 a2)) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a1 a2) 3) (pow.f64 (*.f64 b1 b2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 a2) 3) (pow.f64 (*.f64 b1 b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a1) 1) (log.f64 (/.f64 b1 (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (log.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a1 a2)) (*.f64 (log.f64 (*.f64 b1 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (*.f64 (log.f64 (*.f64 b1 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 a2 (/.f64 b1 a1))) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))))

simplify20.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
08480
117480
238480
367480
479480
579480
Stop Event
saturated
Counts
121 → 75
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.2b
(/.f64 a2 (*.f64 b1 b2))
4.2b
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
4.2b
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
7.2b
(/.f64 a2 (*.f64 b1 b2))

series9.0ms (0.2%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
2.0ms
b1
@-inf
(/.f64 a2 (*.f64 b1 b2))
1.0ms
a2
@0
(/.f64 a2 (*.f64 b1 b2))
1.0ms
a2
@-inf
(/.f64 a2 (*.f64 b1 b2))
1.0ms
a2
@inf
(/.f64 a2 (*.f64 b1 b2))
1.0ms
b2
@-inf
(/.f64 a2 (*.f64 b1 b2))

rewrite63.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
938×pow1_binary64
866×add-log-exp_binary64
866×log1p-expm1-u_binary64
866×expm1-log1p-u_binary64
846×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116617
2228617
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(/.f64 a2 (*.f64 b1 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a2 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 (/.f64 1 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a2 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (/.f64 (/.f64 1 b2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) (pow.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) 2) (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (/.f64 (/.f64 1 b2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a2 (*.f64 b1 b2))) (sqrt.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (*.f64 b2 (neg.f64 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 b2) b1) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b1) (/.f64 (sqrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b1) (/.f64 (cbrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b2) (/.f64 (cbrt.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a2 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 (sqrt.f64 a2) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a2 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 (*.f64 b1 b2))) (/.f64 (cbrt.f64 a2) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a2 (*.f64 b1 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (/.f64 a2 b1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (*.f64 b2 (neg.f64 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (*.f64 b1 b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a2 (*.f64 b1 b2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 b2 (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 a1)) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) b1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) b2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) 1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) (sqrt.f64 (*.f64 b1 b2))) (sqrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a1) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b1) a1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (/.f64 a2 b1)) b2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a2 (*.f64 b1 b2))) a1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)))))))

simplify26.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09732
120732
241732
369732
479732
579732
Stop Event
saturated
Counts
148 → 67
Calls
Call 1
Inputs
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 a2 (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 (/.f64 b2 a2)) b1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))

eval34.0ms (0.8%)

Compiler

Compiled 1640 to 534 computations (67.4% saved)

prune36.0ms (0.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1357142
Fresh000
Picked011
Done101
Total1368144
Error
0b
Counts
144 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
7.7b
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
10.7b
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
9.6b
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
11.1b
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
11.2b
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
12.7b
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
9.8b
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
10.7b
(*.f64 (/.f64 1 b2) (/.f64 a2 (/.f64 b1 a1)))
Compiler

Compiled 169 to 109 computations (35.5% saved)

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.5b
(/.f64 b2 (/.f64 a2 b1))
4.2b
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
4.2b
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
4.5b
(/.f64 b2 (/.f64 a2 b1))

series9.0ms (0.2%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
2.0ms
b2
@0
(/.f64 b2 (/.f64 a2 b1))
1.0ms
b1
@0
(/.f64 b2 (/.f64 a2 b1))
1.0ms
b1
@-inf
(/.f64 b2 (/.f64 a2 b1))
1.0ms
a2
@-inf
(/.f64 b2 (/.f64 a2 b1))
0.0ms
b2
@-inf
(/.f64 b2 (/.f64 a2 b1))

rewrite62.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
574×log-prod_binary64
449×exp-prod_binary64
299×pow-prod-down_binary64
249×pow2_binary64
222×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
117817
2274517
Stop Event
node limit
Counts
2 → 118
Calls
Call 1
Inputs
(/.f64 b2 (/.f64 a2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b2 (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b2 (/.f64 b1 a2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b2 (/.f64 b1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b1 (/.f64 b2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b2 (/.f64 b1 a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 b2 (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) 2) (*.f64 (cbrt.f64 b2) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) (pow.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) 2) (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 b2) (*.f64 (sqrt.f64 b2) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 b2 (/.f64 b1 a2))) (sqrt.f64 (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 b2) (/.f64 1 (/.f64 (neg.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 a2) b2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 a2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b2) 2) 1) (/.f64 (cbrt.f64 b2) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b2) 1) (/.f64 (sqrt.f64 b2) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b2) a2) (/.f64 (sqrt.f64 b2) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a2) (/.f64 b2 (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b2) 2) a2) (/.f64 (cbrt.f64 b2) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a2 b1)) -2) (/.f64 b2 (cbrt.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b2) 2) (cbrt.f64 (pow.f64 (/.f64 b1 a2) -2))) (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b2) (cbrt.f64 (pow.f64 (/.f64 b1 a2) -2))) (/.f64 (sqrt.f64 b2) (cbrt.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a2 b1) -1/2) (/.f64 b2 (sqrt.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b2) 2) (sqrt.f64 (/.f64 a2 b1))) (/.f64 (cbrt.f64 b2) (sqrt.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 1) (/.f64 b1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 (neg.f64 a2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b2 a2) 1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b2 a2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b2 a2) (sqrt.f64 b1)) (sqrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b2 (/.f64 b1 a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b2 (/.f64 b1 a2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b2 (/.f64 b1 a2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b2 (/.f64 b1 a2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (*.f64 b2 b1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 b2 3) (pow.f64 (/.f64 b1 a2) -3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 a2 (*.f64 b2 b1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2)))) 2)) (cbrt.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2))))) (sqrt.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 b2 (/.f64 (neg.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b2 (/.f64 b1 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b2 (/.f64 b1 a2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 b2 3) (pow.f64 (/.f64 b1 a2) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 b2 (/.f64 b1 a2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b2 (/.f64 b1 a2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 a2 (*.f64 b2 b1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b2 (/.f64 b1 a2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b2 (/.f64 b1 a2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b2 b1)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b2 b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b2 b1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b2 b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) (pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) 2) (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (/.f64 a2 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) (sqrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (/.f64 a2 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (*.f64 b2 (neg.f64 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (*.f64 b2 b1)) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (*.f64 b2 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) b2) (/.f64 (sqrt.f64 a1) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 a1 (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) b2) (/.f64 (cbrt.f64 a1) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) -2) (/.f64 a1 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) 2)) (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (pow.f64 (cbrt.f64 (*.f64 b2 (/.f64 b1 a2))) 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 b2 (/.f64 b1 a2)) -1/2) (/.f64 a1 (sqrt.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (sqrt.f64 (*.f64 b2 (/.f64 b1 a2)))) (/.f64 (cbrt.f64 a1) (sqrt.f64 (*.f64 b2 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 b2 a2)) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (/.f64 b2 a2)) (/.f64 (cbrt.f64 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (/.f64 b2 a2)) (/.f64 (sqrt.f64 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 a2 (*.f64 b2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (neg.f64 b2)) (/.f64 (neg.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) a2) (/.f64 1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) 1) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) (cbrt.f64 (pow.f64 (/.f64 b1 a2) -2))) (cbrt.f64 (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) (sqrt.f64 (/.f64 a2 b1))) (sqrt.f64 (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (/.f64 a1 (/.f64 b1 a2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a1 3) (pow.f64 (*.f64 b2 (/.f64 b1 a2)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b2 (/.f64 a1 (/.f64 b1 a2))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))) 2)) (cbrt.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))) (sqrt.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (*.f64 b2 (neg.f64 (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a1 3) (pow.f64 (*.f64 b2 (/.f64 b1 a2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b2 (/.f64 a1 (/.f64 b1 a2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))))))))

simplify26.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09732
118732
239732
367732
479732
579732
Stop Event
saturated
Counts
202 → 121
Calls
Call 1
Inputs
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
9.5b
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
9.5b
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))

series4.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
b1
@inf
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
0.0ms
a1
@0
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
0.0ms
a1
@inf
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
0.0ms
a1
@-inf
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
0.0ms
b1
@-inf
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))

rewrite61.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
455×prod-exp_binary64
388×exp-prod_binary64
376×pow-prod-down_binary64
250×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
117510
2258110
Stop Event
node limit
Counts
1 → 78
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (*.f64 b1 (/.f64 b2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (*.f64 (/.f64 b2 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 (*.f64 b1 b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 b1 (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a1 b1) (/.f64 b2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (*.f64 (/.f64 b1 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (*.f64 b2 (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 b2) (/.f64 b1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 b2 a2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b1 (*.f64 a1 (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b2 (*.f64 (/.f64 a1 b1) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a2) (*.f64 (/.f64 b1 a1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a1) (*.f64 (/.f64 b2 a2) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a2) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (/.f64 a2 b2)) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a1 b1) a2) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a2)) (neg.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 (/.f64 a2 b2))) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 a1 b1) a2)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) 1) (*.f64 (neg.f64 b1) (/.f64 b2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) (neg.f64 a2)) (*.f64 (neg.f64 b1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) 1) (*.f64 (neg.f64 b2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a1)) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) (neg.f64 a1)) (*.f64 (neg.f64 b2) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 (/.f64 a2 b2)) 1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 (/.f64 a2 b2)) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 (/.f64 a2 b2)) (sqrt.f64 b1)) (sqrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 a1 b1) a2) 1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 a1 b1) a2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 a1 b1) a2) (sqrt.f64 b2)) (sqrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) (/.f64 a1 b1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a1 b1) (neg.f64 a2)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b2) (neg.f64 a1)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 a2) (/.f64 b1 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a1 (/.f64 a2 b2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (*.f64 (/.f64 a1 b1) a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 a1 b1)) 1) (log.f64 (/.f64 b2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 a2 b2)) 1) (log.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a1 (/.f64 a2 b2))) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a1 b1)) 1) (log.f64 (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 a1 b1)) (*.f64 (log.f64 (/.f64 a2 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a1 b1)) 1) (*.f64 (log.f64 (/.f64 a2 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a2 b2)) 1) (log.f64 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 a2 b2)) (*.f64 (log.f64 (/.f64 a1 b1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a2 b2)) 1) (*.f64 (log.f64 (/.f64 a1 b1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))))

simplify20.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
08480
117480
238480
367480
479480
579480
Stop Event
saturated
Counts
126 → 80
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.3b
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
5.2b
(/.f64 (*.f64 a2 a1) b1)
5.2b
(/.f64 (*.f64 a2 a1) b1)
8.3b
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)

series7.0ms (0.2%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
a1
@inf
(/.f64 (*.f64 a2 a1) b1)
0.0ms
a2
@-inf
(/.f64 (*.f64 a2 a1) b1)
0.0ms
b1
@-inf
(/.f64 (*.f64 a2 a1) b1)
0.0ms
a2
@0
(/.f64 (*.f64 a2 a1) b1)
0.0ms
b1
@0
(/.f64 (*.f64 a2 a1) b1)

rewrite64.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
531×log-prod_binary64
407×exp-prod_binary64
390×prod-exp_binary64
332×pow-prod-down_binary64
242×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
117217
2254317
Stop Event
node limit
Counts
2 → 126
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) b1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 a1) (/.f64 1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) a1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))) (cbrt.f64 (pow.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) -2)) (cbrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (*.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))) (sqrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (*.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 (neg.f64 a1)) b1) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 (/.f64 a2 b1) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b2) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) b2) (/.f64 (cbrt.f64 (*.f64 a2 a1)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 a1)) b2) (/.f64 (sqrt.f64 (*.f64 a2 a1)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a1) 1) (/.f64 (/.f64 1 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a1) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (/.f64 1 b1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (*.f64 (/.f64 a2 b1) a1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a1) (sqrt.f64 b2)) (/.f64 (/.f64 1 b1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (*.f64 (/.f64 a2 b1) a1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (sqrt.f64 b2)) (/.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 b1 (*.f64 a2 a1)) -3) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 (*.f64 a2 a1)) b2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b1 b2) (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.f64 a2 b1) a1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 b1 (*.f64 a2 a1)) -3) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (log.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (log.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (neg.f64 (log.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 b2)) (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a2 b1) a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 a2 b1) a1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 a2 b1) a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 a2 b1) a1)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 a2 b1) a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 1 (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 a1 (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 a2 (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 a1) (/.f64 1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a2 b1) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) (*.f64 (cbrt.f64 (*.f64 a2 a1)) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 a1)) (*.f64 (sqrt.f64 (*.f64 a2 a1)) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (neg.f64 a1)) (/.f64 1 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (*.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a2 a1)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 a1)) 1) (/.f64 (sqrt.f64 (*.f64 a2 a1)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 b1) 2)) (/.f64 a1 (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 (cbrt.f64 b1) 2)) (/.f64 a2 (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b1) -2) (/.f64 (*.f64 a2 a1) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 a1)) (pow.f64 (cbrt.f64 b1) 2)) (/.f64 (sqrt.f64 (*.f64 a2 a1)) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 b1)) (/.f64 a1 (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 b1)) (/.f64 a2 (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b1 -1/2) (/.f64 (*.f64 a2 a1) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) (sqrt.f64 b1)) (/.f64 (cbrt.f64 (*.f64 a2 a1)) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 b1) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b1 (*.f64 a2 a1)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a2 a1) 3) (pow.f64 b1 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 (*.f64 a2 a1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a2 a1) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a2 b1) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b1 (*.f64 a2 a1)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a2 a1) 3) (pow.f64 b1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 b1 (*.f64 a2 a1)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b1 (*.f64 a2 a1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a2) 1) (log.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (log.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a2 a1)) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (neg.f64 (log.f64 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 b1)) (*.f64 (log.f64 (*.f64 a2 a1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) a1)))))))

simplify24.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09732
120732
243732
370732
477732
Stop Event
saturated
Counts
210 → 130
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 a1 a2) b1)
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 a1 (/.f64 b1 a2))
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.6b
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
4.6b
(/.f64 a1 (*.f64 b1 b2))
4.6b
(/.f64 a1 (*.f64 b1 b2))
7.6b
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)

series11.0ms (0.3%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
3.0ms
b1
@-inf
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
1.0ms
b1
@-inf
(/.f64 a1 (*.f64 b1 b2))
0.0ms
b1
@0
(/.f64 a1 (*.f64 b1 b2))
0.0ms
b2
@inf
(/.f64 a1 (*.f64 b1 b2))
0.0ms
b1
@inf
(/.f64 a1 (*.f64 b1 b2))

rewrite58.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
939×pow1_binary64
867×add-log-exp_binary64
867×log1p-expm1-u_binary64
867×expm1-log1p-u_binary64
847×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116617
2228917
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 (*.f64 b1 b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 b2 (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a2) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a2)) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) b1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) b2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) 1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (sqrt.f64 (*.f64 b1 b2))) (sqrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a2) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a1 b1) a2) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a1)) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 (*.f64 b1 b2))) a2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a1 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 (/.f64 1 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (/.f64 (/.f64 1 b2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) (pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) 2) (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (/.f64 (/.f64 1 b2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (*.f64 b1 b2))) (sqrt.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (*.f64 b2 (neg.f64 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 b2) b1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) b1) (/.f64 (sqrt.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) b1) (/.f64 (cbrt.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) b2) (/.f64 (sqrt.f64 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) b2) (/.f64 (cbrt.f64 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a1 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a1 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (sqrt.f64 (*.f64 b1 b2))) (/.f64 (cbrt.f64 a1) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (*.f64 b1 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (/.f64 a1 b1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (*.f64 b2 (neg.f64 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a1 3) (pow.f64 (*.f64 b1 b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (*.f64 b1 b2))))))))

simplify25.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09732
119732
240732
367732
479732
579732
Stop Event
saturated
Counts
149 → 68
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))
(/.f64 a1 (*.f64 b2 b1))

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.1b
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
5.1b
(/.f64 (*.f64 a2 a1) b2)
5.1b
(/.f64 (*.f64 a2 a1) b2)
6.1b
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)

series7.0ms (0.2%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
a1
@inf
(/.f64 (*.f64 a2 a1) b2)
1.0ms
a2
@inf
(/.f64 (*.f64 a2 a1) b2)
0.0ms
b2
@0
(/.f64 (*.f64 a2 a1) b2)
0.0ms
a2
@0
(/.f64 (*.f64 a2 a1) b2)
0.0ms
a1
@0
(/.f64 (*.f64 a2 a1) b2)

rewrite174.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
531×log-prod_binary64
407×exp-prod_binary64
390×prod-exp_binary64
332×pow-prod-down_binary64
242×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
117217
2254317
Stop Event
node limit
Counts
2 → 126
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
(/.f64 (*.f64 a2 a1) b2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b1)) (/.f64 a2 b2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b1)) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b1)) (/.f64 a2 b2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b1)) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 a1) (/.f64 1 (*.f64 b2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b2) a1) (/.f64 1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) (cbrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1))) -2)) (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2) (*.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) (*.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 (neg.f64 a1)) b2) (/.f64 1 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (*.f64 (/.f64 a2 b2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) b1) (/.f64 (cbrt.f64 (*.f64 a2 a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 a1)) b1) (/.f64 (sqrt.f64 (*.f64 a2 a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a1) 1) (/.f64 (/.f64 1 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) 1) (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a1) (pow.f64 (cbrt.f64 b1) 2)) (/.f64 (/.f64 1 b2) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b1) -2) (/.f64 (*.f64 (/.f64 a2 b2) a1) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) (pow.f64 (cbrt.f64 b1) 2)) (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a1) (sqrt.f64 b1)) (/.f64 (/.f64 1 b2) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b1 -1/2) (/.f64 (*.f64 (/.f64 a2 b2) a1) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2) (sqrt.f64 b1)) (/.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 b2 (*.f64 a2 a1)) -3) (pow.f64 b1 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 (*.f64 a2 a1)) b1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b2 b1) (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.f64 a2 b2) a1) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 b1)) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 b2 (*.f64 a2 a1)) -3) (pow.f64 b1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b1 (/.f64 b2 (*.f64 a2 a1)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (log.f64 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) 1) (log.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) 1) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) 1) (neg.f64 (log.f64 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 b1)) (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a2 b2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 a2 b2) a1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 a2 b2) a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 a2 b2) a1)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 a2 b2) a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a2 b2) a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 1 (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 a1 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 a2 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 a1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b2) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a2 b2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2) (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) (*.f64 (cbrt.f64 (*.f64 a2 a1)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 a1)) (*.f64 (sqrt.f64 (*.f64 a2 a1)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (neg.f64 a1)) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a2 a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 a1)) 1) (/.f64 (sqrt.f64 (*.f64 a2 a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a1 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a2 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (*.f64 a2 a1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 a1)) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (sqrt.f64 (*.f64 a2 a1)) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 b2)) (/.f64 a1 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 b2)) (/.f64 a2 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (*.f64 a2 a1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 a1)) 2) (sqrt.f64 b2)) (/.f64 (cbrt.f64 (*.f64 a2 a1)) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 b2) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b2) a1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b2 (*.f64 a2 a1)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a2 a1) 3) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b2 (*.f64 a2 a1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a2 a1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a2 b2) a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a2 b2) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b2 (*.f64 a2 a1)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a2 a1) 3) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 b2 (*.f64 a2 a1)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b2 (*.f64 a2 a1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) a1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a2) 1) (log.f64 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (log.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a2 a1)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 a2 a1)) 1) (neg.f64 (log.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 b2)) (*.f64 (log.f64 (*.f64 a2 a1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 b2) a1)))))))

simplify27.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09732
119732
239732
367732
478732
578732
Stop Event
saturated
Counts
210 → 130
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 a1 (/.f64 b2 a2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a2 (/.f64 a1 b2))
(*.f64 a1 (/.f64 a2 b2))

eval140.0ms (3.3%)

Compiler

Compiled 6237 to 2007 computations (67.8% saved)

prune97.0ms (2.3%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New5272529
Fresh202
Picked011
Done145
Total5307537
Error
0b
Counts
537 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
10.7b
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
7.9b
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
9.1b
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
11.1b
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
7.7b
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
11.2b
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
12.7b
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
Compiler

Compiled 77 to 49 computations (36.4% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
8.9b
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
8.9b
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))

series6.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
3.0ms
a2
@inf
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
0.0ms
a2
@0
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
0.0ms
a2
@-inf
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
0.0ms
b2
@-inf
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
0.0ms
b1
@inf
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))

rewrite52.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
562×log-prod_binary64
435×exp-prod_binary64
325×pow-prod-down_binary64
252×pow2_binary64
194×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
117810
2273810
Stop Event
node limit
Counts
1 → 66
Calls
Call 1
Inputs
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b1 b2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b1 b2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 (/.f64 1 b2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b2) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 a2 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) 2) (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a2 b2)) 2) (*.f64 (cbrt.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) (sqrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a2 b2)) (*.f64 (sqrt.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 a2 b2)) (/.f64 1 (/.f64 (neg.f64 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (*.f64 b1 b2)) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 (/.f64 1 b2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 a2 b2)) 2) 1) (/.f64 (cbrt.f64 (/.f64 a2 b2)) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 a2 b2)) 1) (/.f64 (sqrt.f64 (/.f64 a2 b2)) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 a2 b2)) b1) (/.f64 (sqrt.f64 (/.f64 a2 b2)) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (/.f64 b1 a1)) (/.f64 (cbrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (/.f64 b1 a1)) (/.f64 (sqrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 (/.f64 1 b2) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 (/.f64 a2 b2) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 a2 b2)) 2) b1) (/.f64 (cbrt.f64 (/.f64 a2 b2)) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 (/.f64 b1 a1)) 2)) (/.f64 (/.f64 1 b2) (cbrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 b1 a1)) -2) (/.f64 (/.f64 a2 b2) (cbrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 a2 b2)) 2) (pow.f64 (cbrt.f64 (/.f64 b1 a1)) 2)) (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 a2 b2)) (pow.f64 (cbrt.f64 (/.f64 b1 a1)) 2)) (/.f64 (sqrt.f64 (/.f64 a2 b2)) (cbrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 (/.f64 b1 a1))) (/.f64 (/.f64 1 b2) (sqrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 b1 a1) -1/2) (/.f64 (/.f64 a2 b2) (sqrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 a2 b2)) 2) (sqrt.f64 (/.f64 b1 a1))) (/.f64 (cbrt.f64 (/.f64 a2 b2)) (sqrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b2) 1) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b2) (neg.f64 b1)) (neg.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) 1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 (*.f64 b1 b2)) (sqrt.f64 a1)) (sqrt.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 a2 b2) 3) (pow.f64 (/.f64 b1 a1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 a2) (/.f64 b1 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b2 (/.f64 b1 a1)) a2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 a2 b2) (/.f64 (neg.f64 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 a2 b2) 3) (pow.f64 (/.f64 b1 a1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 b2) (/.f64 a1 b1))))))))

simplify20.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
08480
117480
238480
367480
479480
579480
Stop Event
saturated
Counts
114 → 68
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.8b
(*.f64 (/.f64 b1 a2) b2)
4.2b
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
4.2b
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
4.8b
(*.f64 (/.f64 b1 a2) b2)

series8.0ms (0.2%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
2.0ms
a2
@0
(*.f64 (/.f64 b1 a2) b2)
0.0ms
b1
@0
(*.f64 (/.f64 b1 a2) b2)
0.0ms
b1
@inf
(*.f64 (/.f64 b1 a2) b2)
0.0ms
b1
@-inf
(*.f64 (/.f64 b1 a2) b2)
0.0ms
a2
@-inf
(*.f64 (/.f64 b1 a2) b2)

rewrite57.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
523×log-prod_binary64
402×exp-prod_binary64
360×prod-exp_binary64
303×pow-prod-down_binary64
242×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
117217
2250017
Stop Event
node limit
Counts
2 → 104
Calls
Call 1
Inputs
(*.f64 (/.f64 b1 a2) b2)
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 b1 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 b1 a2) b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b1 (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b2 (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a2 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b1 b2) a2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 b1 b2)) (neg.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b1 b2) 1) a2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b1 b2) (pow.f64 (cbrt.f64 a2) 2)) (cbrt.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b1 b2) (sqrt.f64 a2)) (sqrt.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 b1) b2) (neg.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b2 (neg.f64 b1)) (neg.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a2) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a2) b2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a2) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 b1 a2) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 b1 a2) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 b1 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (*.f64 b1 b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 b1 a2) b2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a2) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 b1 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 b1 a2) b2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 b1 a2) b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 b1 a2) b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 b2) 1) (log.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 b1 b2)) (*.f64 (log.f64 a2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 b1 a2)) 1) (log.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 b1 a2)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 b1 a2)) 1) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b2) 1) (log.f64 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 b2) (*.f64 (log.f64 (/.f64 b1 a2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b2) 1) (*.f64 (log.f64 (/.f64 b1 a2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 b1 a2) b2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b1)) (/.f64 a1 b2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b1)) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b1)) (/.f64 a1 b2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b1)) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 (/.f64 a2 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) (cbrt.f64 (pow.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2)) -2)) (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) (sqrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (*.f64 (/.f64 b1 a2) (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) b2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (/.f64 a2 b1)) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (/.f64 b1 a2)) (/.f64 (cbrt.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (/.f64 b1 a2)) (/.f64 (sqrt.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) b2) (/.f64 (sqrt.f64 a1) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 a1 (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) b2) (/.f64 (cbrt.f64 a1) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (*.f64 (/.f64 b1 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (*.f64 (/.f64 b1 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 b1 a2) b2)) -2) (/.f64 a1 (cbrt.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 (cbrt.f64 (*.f64 (/.f64 b1 a2) b2)) 2)) (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (pow.f64 (cbrt.f64 (*.f64 (/.f64 b1 a2) b2)) 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 b1 a2) b2) -1/2) (/.f64 a1 (sqrt.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (sqrt.f64 (*.f64 (/.f64 b1 a2) b2))) (/.f64 (cbrt.f64 a1) (sqrt.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 b1 b2)) a2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a1 3) (pow.f64 (*.f64 (/.f64 b1 a2) b2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (*.f64 (/.f64 b1 a2) (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a2 b1)) (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a1 3) (pow.f64 (*.f64 (/.f64 b1 a2) b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 b1 a2) (/.f64 a1 b2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a1) 1) (log.f64 (*.f64 (/.f64 b1 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 a1) (*.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a1) 1) (*.f64 (log.f64 (*.f64 (/.f64 b1 a2) b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a1 (/.f64 a2 b1))) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 a1) 1) (log.f64 (/.f64 (/.f64 a2 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 (/.f64 a2 b1) b2)) (*.f64 (log.f64 a1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))))

simplify27.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09732
118732
239732
367732
479732
579732
Stop Event
saturated
Counts
188 → 108
Calls
Call 1
Inputs
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 b2 b1) a2)
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 b2 b1) a2)
(/.f64 b2 (/.f64 a2 b1))
(*.f64 (/.f64 b2 a2) b1)
(*.f64 b1 (/.f64 b2 a2))
(*.f64 b2 (/.f64 b1 a2))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))

eval29.0ms (0.7%)

Compiler

Compiled 2120 to 683 computations (67.8% saved)

prune78.0ms (1.8%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New1760176
Fresh000
Picked011
Done066
Total1767183
Error
0b
Counts
183 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
10.7b
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
7.9b
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
9.1b
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
11.1b
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
7.7b
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
11.2b
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
12.7b
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
Compiler

Compiled 77 to 49 computations (36.4% saved)

regimes345.0ms (8.1%)

Counts
11 → 5
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 1 b2) (/.f64 a2 (/.f64 b1 a1)))
Outputs
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
Calls

8 calls:

66.0ms
b2
56.0ms
(*.f64 b1 b2)
45.0ms
(*.f64 b1 b2)
43.0ms
(*.f64 a1 a2)
42.0ms
b1
Results
ErrorSegmentsBranch
5.1b4a1
3.7b5a2
4.8b4b1
2.8b7b2
1.1b5(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
1.7b5(*.f64 a1 a2)
1.9b5(*.f64 b1 b2)
1.9b5(*.f64 b1 b2)
Compiler

Compiled 135 to 71 computations (47.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.022221191348762e+262
9.73619806990876e+286
0.0ms
0.0
1.590402077e-315
0.0ms
-3.487454452304562e-241
-7.932672395930083e-253
0.0ms
-inf
-2.3898851880841257e+301
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes161.0ms (3.8%)

Counts
9 → 5
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
Outputs
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
Calls

6 calls:

40.0ms
b2
27.0ms
a2
25.0ms
(*.f64 b1 b2)
24.0ms
(*.f64 b1 b2)
21.0ms
a1
Results
ErrorSegmentsBranch
5.1b4a1
4.4b5a2
4.8b4b1
3.3b7b2
1.9b5(*.f64 b1 b2)
1.9b5(*.f64 b1 b2)
Compiler

Compiled 101 to 53 computations (47.5% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.004873542320193e+184
6.471810658272209e+194
0.0ms
1.180783690742262e-177
3.4419784776410243e-177
0.0ms
-1.794990583057918e-307
0.0
0.0ms
-inf
-1.0355731506922349e+307
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes128.0ms (3%)

Counts
8 → 5
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
Outputs
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
Calls

5 calls:

33.0ms
b2
25.0ms
(*.f64 b1 b2)
25.0ms
a2
22.0ms
b1
20.0ms
a1
Results
ErrorSegmentsBranch
5.1b4a1
4.4b5a2
4.8b4b1
4.7b5b2
3.4b5(*.f64 b1 b2)
Compiler

Compiled 87 to 46 computations (47.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.4331187275366748e+260
1.9222126551792463e+269
0.0ms
1.5043040863001857e-185
1.180783690742262e-177
0.0ms
-1.794990583057918e-307
0.0
0.0ms
-inf
-1.0355731506922349e+307
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes70.0ms (1.7%)

Counts
5 → 5
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
Outputs
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(/.f64 (/.f64 (*.f64 a2 a1) b2) b1)
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
Calls

4 calls:

21.0ms
b2
20.0ms
a2
17.0ms
a1
10.0ms
b1
Results
ErrorSegmentsBranch
5.3b4a1
4.4b5a2
5.9b2b1
5.0b5b2
Compiler

Compiled 59 to 34 computations (42.4% saved)

bsearch40.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
4.0ms
3.0541901968713207e+283
4.805444199148734e+287
7.0ms
6.212640502258601e+152
1.078642487707614e+154
10.0ms
3.28726327865458e+92
4.005446247274582e+92
19.0ms
-2.2558254978843233e-246
-8.393992246502419e-250
Compiler

Compiled 90 to 61 computations (32.2% saved)

regimes55.0ms (1.3%)

Counts
4 → 5
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
Outputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
Calls

4 calls:

19.0ms
b2
14.0ms
a1
12.0ms
a2
8.0ms
b1
Results
ErrorSegmentsBranch
5.3b4a1
5.7b3a2
5.9b2b1
5.0b5b2
Compiler

Compiled 52 to 31 computations (40.4% saved)

bsearch46.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
3.064010271426532e-5
9.953860468907826e-5
9.0ms
7.845495416250043e-127
1.680422660397794e-115
8.0ms
2.6045609364738206e-202
6.725589790482763e-201
6.0ms
1.4916710555633766e-307
6.594482200322718e-288
Compiler

Compiled 90 to 61 computations (32.2% saved)

regimes41.0ms (1%)

Counts
3 → 4
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
Outputs
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1)))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
Calls

4 calls:

14.0ms
a2
11.0ms
b2
7.0ms
b1
7.0ms
a1
Results
ErrorSegmentsBranch
6.4b2a1
5.4b4a2
5.9b2b1
6.0b3b2
Compiler

Compiled 45 to 29 computations (35.6% saved)

bsearch21.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
4.0ms
3.0541901968713207e+283
4.805444199148734e+287
7.0ms
1.0332489116845487e+161
2.0843305092376386e+163
10.0ms
3.28726327865458e+92
4.005446247274582e+92
Compiler

Compiled 90 to 61 computations (32.2% saved)

regimes37.0ms (0.9%)

Accuracy

Total -9.9b remaining (-172.8%)

Threshold costs -9.9b (-172.8%)

Counts
2 → 4
Calls
Call 1
Inputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
Outputs
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 (/.f64 a2 b2) (/.f64 b1 a1))
Calls

4 calls:

12.0ms
b2
12.0ms
a2
6.0ms
a1
6.0ms
b1
Results
ErrorSegmentsBranch
6.6b2a1
5.7b4a2
6.2b2b1
6.1b3b2
Compiler

Compiled 38 to 26 computations (31.6% saved)

bsearch21.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
4.0ms
3.0541901968713207e+283
4.805444199148734e+287
7.0ms
1.0332489116845487e+161
2.0843305092376386e+163
10.0ms
3.28726327865458e+92
4.005446247274582e+92
Compiler

Compiled 90 to 61 computations (32.2% saved)

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087556
193556
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -375375841440235/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 0) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 20000000000000000323456785900191669561923454243064936219351155259210830706007157687226704499288107285763810660663679263023264344934985834790648308005091295168868698197129205191161878464985997761417827125414132937520722989422036627287210875071738030889333260550144) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2))))))
(if (<=.f64 (*.f64 b1 b2) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) -5060056332682765/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 9124881235244390/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) 20000000000000000347133368339382573870453505234990611224736886462437054770952482249848261400637690118797395263364344950671345201327496585184494821583360107684373027385378753248237715456) (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))
(if (<=.f64 (*.f64 b1 b2) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) -5060056332682765/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 391910664852587392/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) 400000000000000026133910442298469228012841597913174519102572768692507688107954991574091588778497240480562345447591775176254744828005554759592548894298327849178554564992481609363388690196090569882989977056531635359099768175106628181988036353717342140783879258112) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))
(if (<=.f64 a2 -4439578480007787/1968050491570179337085559162931578630651709906891441055118891257892079288351255876848165899096642389501163344805155428792843027262027135257611196407910211298273454174395669565233333102153340134967208776281070666030600772398529804270112502942856537090575466233856) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) (if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 a2 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (/.f64 (/.f64 (*.f64 a2 a1) b2) b1) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1))))))
(if (<=.f64 b2 772103322247736448/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (if (<=.f64 b2 5515652263101987/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) (if (<=.f64 b2 5814709794364855/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 b2 2260840532648903/73786976294838206464) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2))))))
(if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 a2 9999999999999999378499396381163974664505251594389679853757253159226858588823650024928554969640430609348999796218942130031825270939086493357629899207015514012385280) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)))))
(if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (if (<=.f64 a2 9999999999999999378499396381163974664505251594389679853757253159226858588823650024928554969640430609348999796218942130031825270939086493357629899207015514012385280) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)))))
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
Outputs
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -375375841440235/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 0) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 20000000000000000323456785900191669561923454243064936219351155259210830706007157687226704499288107285763810660663679263023264344934985834790648308005091295168868698197129205191161878464985997761417827125414132937520722989422036627287210875071738030889333260550144) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2))))))
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -375375841440235/1876879207201175057492789423877314215327939898387375884169474847690657890654807926986852549645082845212138504796176365654795672666575560815440365226659976290009931730647725644334157087472286353079994941979475656538582584761171154279816153471809899416518656) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 0) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 20000000000000000323456785900191669561923454243064936219351155259210830706007157687226704499288107285763810660663679263023264344934985834790648308005091295168868698197129205191161878464985997761417827125414132937520722989422036627287210875071738030889333260550144) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2)))))))
(if (<=.f64 (*.f64 b1 b2) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) -5060056332682765/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 9124881235244390/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) 20000000000000000347133368339382573870453505234990611224736886462437054770952482249848261400637690118797395263364344950671345201327496585184494821583360107684373027385378753248237715456) (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))
(if (<=.f64 (*.f64 b1 b2) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) -5060056332682765/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) (if (<=.f64 (*.f64 b1 b2) 4562440617622195/2281220308811097609320585802850145662446614253624279965289596258949637583604338693252956405658685699889321154786797203655344352360687718999126330659861107094125997337180132475041437096123301888) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) 20000000000000000347133368339382573870453505234990611224736886462437054770952482249848261400637690118797395263364344950671345201327496585184494821583360107684373027385378753248237715456) (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))
(if (<=.f64 (*.f64 b1 b2) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) -5060056332682765/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 391910664852587392/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) 400000000000000026133910442298469228012841597913174519102572768692507688107954991574091588778497240480562345447591775176254744828005554759592548894298327849178554564992481609363388690196090569882989977056531635359099768175106628181988036353717342140783879258112) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1))))))
(if (<=.f64 (*.f64 b1 b2) -inf.0) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) -5060056332682765/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) (if (<=.f64 (*.f64 b1 b2) 3061802069160839/153090103458041951154620325043801237641319743206933311288544235956760011447392195175450369025277569052617268428910122535686807015741471080782585043071649294869136754165183653769539196448293593632735232) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 (*.f64 b1 b2) 400000000000000026133910442298469228012841597913174519102572768692507688107954991574091588778497240480562345447591775176254744828005554759592548894298327849178554564992481609363388690196090569882989977056531635359099768175106628181988036353717342140783879258112) (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))
(if (<=.f64 a2 -4439578480007787/1968050491570179337085559162931578630651709906891441055118891257892079288351255876848165899096642389501163344805155428792843027262027135257611196407910211298273454174395669565233333102153340134967208776281070666030600772398529804270112502942856537090575466233856) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) (if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 a2 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (/.f64 (/.f64 (*.f64 a2 a1) b2) b1) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1))))))
(if (<=.f64 a2 -4439578480007787/1968050491570179337085559162931578630651709906891441055118891257892079288351255876848165899096642389501163344805155428792843027262027135257611196407910211298273454174395669565233333102153340134967208776281070666030600772398529804270112502942856537090575466233856) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 a2 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (/.f64 (/.f64 (*.f64 a1 a2) b2) b1) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1))))))
(if (<=.f64 b2 772103322247736448/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (if (<=.f64 b2 5515652263101987/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) (if (<=.f64 b2 5814709794364855/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 b2 2260840532648903/73786976294838206464) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2))))))
(if (<=.f64 b2 6032057205060441/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) (if (<=.f64 b2 5515652263101987/5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 b2 5814709794364855/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 b2 2260840532648903/73786976294838206464) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2)))))))
(if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 a2 9999999999999999378499396381163974664505251594389679853757253159226858588823650024928554969640430609348999796218942130031825270939086493357629899207015514012385280) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)))))
(if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) (if (<=.f64 a2 9999999999999999378499396381163974664505251594389679853757253159226858588823650024928554969640430609348999796218942130031825270939086493357629899207015514012385280) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)))))
(if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (if (<=.f64 a2 9999999999999999378499396381163974664505251594389679853757253159226858588823650024928554969640430609348999796218942130031825270939086493357629899207015514012385280) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)))))
(if (<=.f64 a2 400000000000000017350918789847674429316117329980775724716709515734446725155872444376529502208) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) (if (<=.f64 a2 9999999999999999378499396381163974664505251594389679853757253159226858588823650024928554969640430609348999796218942130031825270939086493357629899207015514012385280) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)) (if (<=.f64 a2 999999999999999980159157920520442850193109519852847211800025710561650359982538085224088616186146493844286149397221450372619320895438893697947652166455225334059372746413748147206443420891752540620587530362220273863006901551095990707698442841525909542472844588688081080376132618600579072) (/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) (/.f64 (/.f64 a2 b2) (/.f64 b1 a1)))))
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2))
(/.f64 a1 (*.f64 b2 (/.f64 b1 a2)))

end129.0ms (3%)

Stop Event
done
Compiler

Compiled 1116 to 399 computations (64.2% saved)

Profiling

Loading profile data...