Time bar (total: 2.2s)
1× | search |
Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
---|---|---|---|---|---|---|---|
0% | 0% | 0% | 100% | 0% | 0% | 0% | 0 |
100% | 0% | 0% | 100% | 0% | 0% | 0% | 1 |
Compiled 24 to 18 computations (25% saved)
688.0ms | 8 256× | 0 | valid |
ival-div
: 135.0ms (31% of total)ival-atan
: 109.0ms (25% of total)ival-<=
: 90.0ms (20.6% of total)ival-mult
: 53.0ms (12.2% of total)ival-and
: 25.0ms (5.7% of total)exact
: 21.0ms (4.8% of total)ival-assert
: 3.0ms (0.7% of total)Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
---|---|---|---|---|---|
0 | 0 | - | 0 | - | #s(literal 180 binary64) |
0 | 0 | - | 0 | - | x2 |
0 | 0 | - | 0 | - | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
0 | 0 | - | 0 | - | (atan.f64 (/.f64 x2 x1)) |
0 | 0 | - | 0 | - | x1 |
0 | 0 | - | 0 | - | #s(literal 3537118876014453/1125899906842624 binary64) |
0 | 0 | - | 0 | - | (*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
0 | 0 | - | 0 | - | (/.f64 x2 x1) |
Predicted + | Predicted - | |
---|---|---|
+ | 0 | 0 |
- | 0 | 256 |
Predicted + | Predicted Maybe | Predicted - | |
---|---|---|---|
+ | 0 | 0 | 0 |
- | 0 | 0 | 256 |
number | freq |
---|---|
0 | 256 |
Predicted + | Predicted Maybe | Predicted - | |
---|---|---|---|
+ | 0 | 0 | 0 |
- | 0 | 0 | 1 |
98.0ms | 512× | 0 | valid |
Compiled 56 to 28 computations (50% saved)
ival-atan
: 69.0ms (83.8% of total)ival-div
: 8.0ms (9.7% of total)ival-mult
: 3.0ms (3.6% of total)ival-true
: 1.0ms (1.2% of total)exact
: 1.0ms (1.2% of total)ival-assert
: 0.0ms (0% of total)1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 19 | 34 |
1 | 42 | 34 |
2 | 60 | 34 |
3 | 74 | 34 |
4 | 85 | 34 |
5 | 101 | 34 |
6 | 124 | 34 |
7 | 138 | 34 |
8 | 140 | 34 |
0 | 8 | 6 |
0 | 13 | 6 |
1 | 14 | 6 |
0 | 14 | 6 |
1× | iter limit |
1× | saturated |
1× | iter limit |
1× | saturated |
Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
Outputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
Compiled 8 to 8 computations (0% saved)
Compiled 0 to 2 computations (-∞% saved)
Status | Accuracy | Program |
---|---|---|
▶ | 99.5% | (*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
Compiled 8 to 8 computations (0% saved)
1× | egg-herbie |
Found 4 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (/.f64 x2 x1) | |
cost-diff | 0 | (atan.f64 (/.f64 x2 x1)) | |
cost-diff | 0 | (*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
cost-diff | 2 | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 8 | 18 |
0 | 13 | 18 |
1 | 14 | 18 |
0 | 14 | 18 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
x2 |
x1 |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
Outputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
x2 |
x1 |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 67553994410557440/1179039625338151 binary64) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
Found 4 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (/.f64 x2 x1) | |
accuracy | 0.0 | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) | |
accuracy | 0.1640625 | (atan.f64 (/.f64 x2 x1)) | |
accuracy | 0.27734375 | (*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
18.0ms | 256× | 0 | valid |
Compiled 24 to 10 computations (58.3% saved)
ival-div
: 4.0ms (41.3% of total)ival-atan
: 3.0ms (31% of total)ival-mult
: 2.0ms (20.6% of total)ival-true
: 0.0ms (0% of total)exact
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
Outputs |
---|
(* 67553994410557440/1179039625338151 (atan (/ x2 x1))) |
(atan (/ x2 x1)) |
(/ x2 x1) |
6 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
1.0ms | x1 | @ | -inf | ((/ 180 3537118876014453/1125899906842624) (* (atan (/ x2 x1)) (/ 180 3537118876014453/1125899906842624)) (atan (/ x2 x1)) (/ x2 x1)) |
1.0ms | x2 | @ | -inf | ((/ 180 3537118876014453/1125899906842624) (* (atan (/ x2 x1)) (/ 180 3537118876014453/1125899906842624)) (atan (/ x2 x1)) (/ x2 x1)) |
1.0ms | x2 | @ | inf | ((/ 180 3537118876014453/1125899906842624) (* (atan (/ x2 x1)) (/ 180 3537118876014453/1125899906842624)) (atan (/ x2 x1)) (/ x2 x1)) |
1.0ms | x2 | @ | 0 | ((/ 180 3537118876014453/1125899906842624) (* (atan (/ x2 x1)) (/ 180 3537118876014453/1125899906842624)) (atan (/ x2 x1)) (/ x2 x1)) |
1.0ms | x1 | @ | inf | ((/ 180 3537118876014453/1125899906842624) (* (atan (/ x2 x1)) (/ 180 3537118876014453/1125899906842624)) (atan (/ x2 x1)) (/ x2 x1)) |
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 6 | 13 |
1 | 7 | 13 |
0 | 7 | 13 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(* 67553994410557440/1179039625338151 (atan (/ x2 x1))) |
(atan (/ x2 x1)) |
(/ x2 x1) |
Outputs |
---|
(* 67553994410557440/1179039625338151 (atan (/ x2 x1))) |
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(atan (/ x2 x1)) |
(atan.f64 (/.f64 x2 x1)) |
(/ x2 x1) |
(/.f64 x2 x1) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 8 | 14 |
0 | 13 | 14 |
1 | 22 | 14 |
2 | 57 | 14 |
3 | 230 | 14 |
0 | 1238 | 14 |
1× | iter limit |
1× | iter limit |
1× | node limit |
1× | iter limit |
Inputs |
---|
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
Outputs |
---|
#s(literal 67553994410557440/1179039625338151 binary64) |
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(neg.f64 (*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 (neg.f64 x2) x1)))) |
(neg.f64 (*.f64 (atan.f64 (/.f64 (neg.f64 x2) x1)) #s(literal 67553994410557440/1179039625338151 binary64))) |
(*.f64 #s(literal -1 binary64) (atan.f64 (/.f64 (neg.f64 x2) x1))) |
(neg.f64 (atan.f64 (/.f64 (neg.f64 x2) x1))) |
(atan.f64 (/.f64 x2 x1)) |
(-.f64 #s(literal 0 binary64) (atan.f64 (/.f64 (neg.f64 x2) x1))) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) |
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64))) (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64))) |
(*.f64 (*.f64 x2 (pow.f64 x1 #s(literal -1/2 binary64))) (pow.f64 x1 #s(literal -1/2 binary64))) |
(*.f64 (/.f64 (pow.f64 x1 #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 x1 #s(literal -1/2 binary64)) (pow.f64 x2 #s(literal -1 binary64)))) |
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) x2) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) x1)) |
(*.f64 (pow.f64 x1 #s(literal -1/2 binary64)) (*.f64 (pow.f64 x1 #s(literal -1/2 binary64)) x2)) |
(*.f64 (pow.f64 x1 #s(literal -1/2 binary64)) (/.f64 (pow.f64 x1 #s(literal -1/2 binary64)) (pow.f64 x2 #s(literal -1 binary64)))) |
(*.f64 (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64)) (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64))) |
(*.f64 (/.f64 (neg.f64 x2) x1) #s(literal -1 binary64)) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (pow.f64 (/.f64 #s(literal -1 binary64) x2) #s(literal -1 binary64))) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 x2) x1)) |
(*.f64 (pow.f64 x1 #s(literal -1 binary64)) x2) |
(*.f64 #s(literal 1 binary64) (/.f64 x2 x1)) |
(*.f64 (neg.f64 x2) (/.f64 #s(literal -1 binary64) x1)) |
(*.f64 (/.f64 x2 x1) #s(literal 1 binary64)) |
(*.f64 x2 (pow.f64 x1 #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (log.f64 (/.f64 x1 x2))) #s(literal -1 binary64)) |
(pow.f64 (*.f64 (/.f64 x1 x2) (/.f64 x1 x2)) #s(literal -1/2 binary64)) |
(pow.f64 (pow.f64 (/.f64 x1 x2) #s(literal -1/2 binary64)) #s(literal 2 binary64)) |
(pow.f64 (/.f64 x1 x2) #s(literal -1 binary64)) |
(pow.f64 (/.f64 x2 x1) #s(literal 1 binary64)) |
(/.f64 (*.f64 (neg.f64 (*.f64 x2 x2)) (/.f64 #s(literal -1 binary64) x1)) x2) |
(/.f64 (*.f64 (neg.f64 (pow.f64 x2 #s(literal 3 binary64))) (/.f64 #s(literal -1 binary64) x1)) (*.f64 x2 x2)) |
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 (*.f64 x2 x2))) x2) |
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 (pow.f64 x2 #s(literal 3 binary64)))) (*.f64 x2 x2)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x2) x1) (/.f64 (neg.f64 x2) x1))) (/.f64 (neg.f64 x2) x1)) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 (neg.f64 x2) x1) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (/.f64 (neg.f64 x2) x1) (/.f64 (neg.f64 x2) x1) (*.f64 #s(literal 0 binary64) (/.f64 (neg.f64 x2) x1))))) |
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x2 x2))) (*.f64 x1 x2)) |
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 x2 #s(literal 3 binary64)))) (*.f64 x1 (*.f64 x2 x2))) |
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x2 x2))) (*.f64 (neg.f64 x1) x2)) |
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 x2 #s(literal 3 binary64)))) (*.f64 (neg.f64 x1) (*.f64 x2 x2))) |
(/.f64 (*.f64 (neg.f64 (*.f64 x2 x2)) #s(literal -1 binary64)) (*.f64 x2 x1)) |
(/.f64 (*.f64 (neg.f64 (*.f64 x2 x2)) #s(literal 1 binary64)) (*.f64 x2 (neg.f64 x1))) |
(/.f64 (*.f64 (neg.f64 (pow.f64 x2 #s(literal 3 binary64))) #s(literal -1 binary64)) (*.f64 (*.f64 x2 x2) x1)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 x2 #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (*.f64 x2 x2) (neg.f64 x1))) |
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (/.f64 (neg.f64 x1) x2)) (neg.f64 x1)) (*.f64 (neg.f64 x1) (/.f64 (neg.f64 x1) x2))) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) (neg.f64 x2))) (*.f64 (neg.f64 x1) x1)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) |
(/.f64 (neg.f64 (*.f64 x2 x2)) (*.f64 (neg.f64 x1) x2)) |
(/.f64 (neg.f64 (pow.f64 x2 #s(literal 3 binary64))) (*.f64 (neg.f64 x1) (*.f64 x2 x2))) |
(/.f64 (/.f64 (neg.f64 x2) x1) #s(literal -1 binary64)) |
(/.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 #s(literal -1 binary64) x2)) |
(/.f64 #s(literal -1 binary64) (/.f64 (neg.f64 x1) x2)) |
(/.f64 (pow.f64 x1 #s(literal -1 binary64)) (pow.f64 x2 #s(literal -1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 x1 x2)) |
(/.f64 (neg.f64 x2) (neg.f64 x1)) |
(/.f64 (/.f64 x2 x1) #s(literal 1 binary64)) |
(/.f64 x2 x1) |
(neg.f64 (/.f64 (neg.f64 x2) x1)) |
(fma.f64 (/.f64 #s(literal -1 binary64) x1) #s(literal 0 binary64) (/.f64 x2 x1)) |
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 x2) x1)) |
(exp.f64 (*.f64 (log.f64 (/.f64 x1 x2)) #s(literal -1 binary64))) |
(+.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) #s(literal 0 binary64)) (/.f64 x2 x1)) |
(+.f64 #s(literal 0 binary64) (/.f64 x2 x1)) |
Compiled 932 to 279 computations (70.1% saved)
10 alts after pruning (10 fresh and 0 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 60 | 10 | 70 |
Fresh | 0 | 0 | 0 |
Picked | 1 | 0 | 1 |
Done | 0 | 0 | 0 |
Total | 61 | 10 | 71 |
Status | Accuracy | Program |
---|---|---|
99.4% | (*.f64 (atan.f64 (/.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 #s(literal -1 binary64) x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
▶ | 99.4% | (*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
99.4% | (*.f64 (atan.f64 (/.f64 (neg.f64 (pow.f64 x2 #s(literal 3 binary64))) (*.f64 (neg.f64 x1) (*.f64 x2 x2)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.4% | (*.f64 (atan.f64 (/.f64 (neg.f64 (*.f64 x2 x2)) (*.f64 (neg.f64 x1) x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
▶ | 99.5% | (*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
99.5% | (*.f64 (atan.f64 (/.f64 #s(literal 1 binary64) (/.f64 x1 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
▶ | 99.4% | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
▶ | 99.4% | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
▶ | 99.4% | (*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
99.4% | (*.f64 (atan.f64 (exp.f64 (*.f64 (log.f64 (/.f64 x1 x2)) #s(literal -1 binary64)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
Compiled 252 to 230 computations (8.7% saved)
1× | egg-herbie |
Found 19 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
cost-diff | 2 | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) | |
cost-diff | 2 | (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) | |
cost-diff | 6 | (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) | |
cost-diff | 0 | (*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
cost-diff | 2 | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) | |
cost-diff | 3 | (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) | |
cost-diff | 4 | (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) | |
cost-diff | 0 | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
cost-diff | 2 | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) | |
cost-diff | 2 | (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) | |
cost-diff | 4 | (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) | |
cost-diff | 0 | (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) | |
cost-diff | 0 | (*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
cost-diff | 2 | (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) | |
cost-diff | 3 | (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) | |
cost-diff | 0 | (/.f64 x2 x1) | |
cost-diff | 0 | (atan.f64 (/.f64 x2 x1)) | |
cost-diff | 0 | (*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
Useful iterations: 2 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 35 | 218 |
0 | 64 | 145 |
1 | 117 | 143 |
2 | 290 | 139 |
3 | 1054 | 139 |
4 | 2118 | 139 |
5 | 2735 | 139 |
6 | 3031 | 139 |
7 | 3065 | 139 |
8 | 3077 | 139 |
9 | 3089 | 139 |
10 | 3351 | 139 |
11 | 3635 | 139 |
12 | 3992 | 139 |
13 | 3996 | 139 |
14 | 4000 | 139 |
15 | 4008 | 139 |
16 | 4008 | 139 |
17 | 5640 | 139 |
18 | 7874 | 139 |
0 | 8017 | 139 |
1× | iter limit |
1× | node limit |
1× | iter limit |
Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
x2 |
x1 |
#s(literal 67553994410557440/1179039625338151 binary64) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(/.f64 #s(literal -1 binary64) x1) |
#s(literal -1 binary64) |
x1 |
(neg.f64 x2) |
x2 |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) |
(/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) |
(neg.f64 x2) |
x2 |
(neg.f64 (*.f64 x1 x1)) |
(*.f64 x1 x1) |
x1 |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) |
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) |
#s(literal 0 binary64) |
(*.f64 (neg.f64 x1) x2) |
(neg.f64 x1) |
x1 |
x2 |
(*.f64 x1 x1) |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) |
(/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(neg.f64 x2) |
x2 |
(neg.f64 (pow.f64 x1 #s(literal 3 binary64))) |
(pow.f64 x1 #s(literal 3 binary64)) |
x1 |
#s(literal 3 binary64) |
(*.f64 x1 x1) |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
Outputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
x2 |
x1 |
#s(literal 67553994410557440/1179039625338151 binary64) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) |
(atan.f64 (/.f64 x2 x1)) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(/.f64 x2 x1) |
(/.f64 #s(literal -1 binary64) x1) |
#s(literal -1 binary64) |
x1 |
(neg.f64 x2) |
x2 |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 67553994410557440/1179039625338151 binary64) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) |
(atan.f64 (/.f64 x2 x1)) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) |
(/.f64 x2 x1) |
(/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) |
(/.f64 (/.f64 x2 x1) x1) |
(neg.f64 x2) |
x2 |
(neg.f64 (*.f64 x1 x1)) |
(*.f64 (neg.f64 x1) x1) |
(*.f64 x1 x1) |
x1 |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 67553994410557440/1179039625338151 binary64) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) |
(/.f64 x2 x1) |
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) |
(*.f64 x1 x2) |
#s(literal 0 binary64) |
(*.f64 (neg.f64 x1) x2) |
(neg.f64 x1) |
x1 |
x2 |
(*.f64 x1 x1) |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 67553994410557440/1179039625338151 binary64) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) |
(atan.f64 (/.f64 x2 x1)) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) |
(/.f64 x2 x1) |
(/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) |
(neg.f64 x2) |
x2 |
(neg.f64 (pow.f64 x1 #s(literal 3 binary64))) |
(pow.f64 (neg.f64 x1) #s(literal 3 binary64)) |
(pow.f64 x1 #s(literal 3 binary64)) |
x1 |
#s(literal 3 binary64) |
(*.f64 x1 x1) |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
#s(literal 67553994410557440/1179039625338151 binary64) |
#s(literal 180 binary64) |
#s(literal 3537118876014453/1125899906842624 binary64) |
Found 19 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.1640625 | (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) | |
accuracy | 0.26171875 | (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) | |
accuracy | 0.27734375 | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
accuracy | 0.3483200195368841 | (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) | |
accuracy | 0.0 | (neg.f64 x1) | |
accuracy | 0.1640625 | (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) | |
accuracy | 0.27734375 | (*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
accuracy | 0.30697250976844204 | (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) | |
accuracy | 0.1640625 | (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) | |
accuracy | 0.26953125 | (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) | |
accuracy | 0.26953125 | (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) | |
accuracy | 0.27734375 | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
accuracy | 0.0 | (neg.f64 x2) | |
accuracy | 0.1640625 | (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) | |
accuracy | 0.27734375 | (*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
accuracy | 0.296875 | (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) | |
accuracy | 0.0 | (/.f64 x2 x1) | |
accuracy | 0.1640625 | (atan.f64 (/.f64 x2 x1)) | |
accuracy | 0.27734375 | (*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
76.0ms | 256× | 0 | valid |
Compiled 236 to 37 computations (84.3% saved)
ival-mult
: 15.0ms (27.7% of total)ival-atan
: 14.0ms (25.9% of total)ival-div
: 11.0ms (20.3% of total)ival-neg
: 5.0ms (9.2% of total)const
: 4.0ms (7.4% of total)ival-pow
: 3.0ms (5.5% of total)ival-sub
: 1.0ms (1.8% of total)exact
: 1.0ms (1.8% of total)ival-assert
: 0.0ms (0% of total)ival-true
: 0.0ms (0% of total)Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) |
(/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) |
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) |
(/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(neg.f64 x2) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) |
(atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) |
(neg.f64 x1) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) |
Outputs |
---|
(* 67553994410557440/1179039625338151 (atan (/ x2 x1))) |
(atan (/ x2 x1)) |
(/ x2 x1) |
(/ x2 (pow x1 2)) |
(* x1 x2) |
(/ x2 (pow x1 3)) |
(* -1 x2) |
(* -1 x1) |
6 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
4.0ms | x2 | @ | -inf | ((* (atan (/ x2 x1)) 67553994410557440/1179039625338151) (atan (/ x2 x1)) (/ x2 x1) (* (/ -1 x1) (neg x2)) (/ 180 3537118876014453/1125899906842624) (* (atan (* (/ -1 x1) (neg x2))) (/ 180 3537118876014453/1125899906842624)) (atan (* (/ -1 x1) (neg x2))) (* (/ (neg x2) (neg (* x1 x1))) x1) (/ (neg x2) (neg (* x1 x1))) (* (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (/ 180 3537118876014453/1125899906842624)) (/ (- 0 (* (neg x1) x2)) (* x1 x1)) (- 0 (* (neg x1) x2)) (* (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)) (/ (neg x2) (neg (pow x1 3))) (* (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (neg x2) (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (neg x1) (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)))) |
3.0ms | x2 | @ | inf | ((* (atan (/ x2 x1)) 67553994410557440/1179039625338151) (atan (/ x2 x1)) (/ x2 x1) (* (/ -1 x1) (neg x2)) (/ 180 3537118876014453/1125899906842624) (* (atan (* (/ -1 x1) (neg x2))) (/ 180 3537118876014453/1125899906842624)) (atan (* (/ -1 x1) (neg x2))) (* (/ (neg x2) (neg (* x1 x1))) x1) (/ (neg x2) (neg (* x1 x1))) (* (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (/ 180 3537118876014453/1125899906842624)) (/ (- 0 (* (neg x1) x2)) (* x1 x1)) (- 0 (* (neg x1) x2)) (* (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)) (/ (neg x2) (neg (pow x1 3))) (* (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (neg x2) (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (neg x1) (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)))) |
2.0ms | x2 | @ | 0 | ((* (atan (/ x2 x1)) 67553994410557440/1179039625338151) (atan (/ x2 x1)) (/ x2 x1) (* (/ -1 x1) (neg x2)) (/ 180 3537118876014453/1125899906842624) (* (atan (* (/ -1 x1) (neg x2))) (/ 180 3537118876014453/1125899906842624)) (atan (* (/ -1 x1) (neg x2))) (* (/ (neg x2) (neg (* x1 x1))) x1) (/ (neg x2) (neg (* x1 x1))) (* (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (/ 180 3537118876014453/1125899906842624)) (/ (- 0 (* (neg x1) x2)) (* x1 x1)) (- 0 (* (neg x1) x2)) (* (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)) (/ (neg x2) (neg (pow x1 3))) (* (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (neg x2) (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (neg x1) (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)))) |
2.0ms | x1 | @ | -inf | ((* (atan (/ x2 x1)) 67553994410557440/1179039625338151) (atan (/ x2 x1)) (/ x2 x1) (* (/ -1 x1) (neg x2)) (/ 180 3537118876014453/1125899906842624) (* (atan (* (/ -1 x1) (neg x2))) (/ 180 3537118876014453/1125899906842624)) (atan (* (/ -1 x1) (neg x2))) (* (/ (neg x2) (neg (* x1 x1))) x1) (/ (neg x2) (neg (* x1 x1))) (* (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (/ 180 3537118876014453/1125899906842624)) (/ (- 0 (* (neg x1) x2)) (* x1 x1)) (- 0 (* (neg x1) x2)) (* (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)) (/ (neg x2) (neg (pow x1 3))) (* (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (neg x2) (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (neg x1) (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)))) |
2.0ms | x1 | @ | inf | ((* (atan (/ x2 x1)) 67553994410557440/1179039625338151) (atan (/ x2 x1)) (/ x2 x1) (* (/ -1 x1) (neg x2)) (/ 180 3537118876014453/1125899906842624) (* (atan (* (/ -1 x1) (neg x2))) (/ 180 3537118876014453/1125899906842624)) (atan (* (/ -1 x1) (neg x2))) (* (/ (neg x2) (neg (* x1 x1))) x1) (/ (neg x2) (neg (* x1 x1))) (* (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (/ 180 3537118876014453/1125899906842624)) (/ (- 0 (* (neg x1) x2)) (* x1 x1)) (- 0 (* (neg x1) x2)) (* (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)) (/ (neg x2) (neg (pow x1 3))) (* (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1))) (/ 180 3537118876014453/1125899906842624)) (neg x2) (atan (* (/ (neg x2) (neg (* x1 x1))) x1)) (atan (/ (- 0 (* (neg x1) x2)) (* x1 x1))) (neg x1) (atan (* (/ (neg x2) (neg (pow x1 3))) (* x1 x1)))) |
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 16 | 30 |
1 | 25 | 30 |
2 | 33 | 30 |
3 | 36 | 30 |
4 | 39 | 30 |
5 | 43 | 30 |
6 | 50 | 30 |
7 | 77 | 30 |
8 | 105 | 30 |
9 | 108 | 30 |
0 | 108 | 30 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(* 67553994410557440/1179039625338151 (atan (/ x2 x1))) |
(atan (/ x2 x1)) |
(/ x2 x1) |
(/ x2 (pow x1 2)) |
(* x1 x2) |
(/ x2 (pow x1 3)) |
(* -1 x2) |
(* -1 x1) |
Outputs |
---|
(* 67553994410557440/1179039625338151 (atan (/ x2 x1))) |
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(atan (/ x2 x1)) |
(atan.f64 (/.f64 x2 x1)) |
(/ x2 x1) |
(/.f64 x2 x1) |
(/ x2 (pow x1 2)) |
(/.f64 (/.f64 x2 x1) x1) |
(* x1 x2) |
(*.f64 x1 x2) |
(/ x2 (pow x1 3)) |
(/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) |
(* -1 x2) |
(neg.f64 x2) |
(* -1 x1) |
(neg.f64 x1) |
Useful iterations: 1 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 35 | 162 |
0 | 64 | 149 |
1 | 168 | 125 |
0 | 848 | 125 |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(atan.f64 (/.f64 x2 x1)) |
(/.f64 x2 x1) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64)) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1) |
(/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1)) |
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1)) |
(/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(neg.f64 x2) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) |
(atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) |
(neg.f64 x1) |
(atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) |
Outputs |
---|
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(neg.f64 (atan.f64 (/.f64 (neg.f64 x2) x1))) |
(atan.f64 (/.f64 x2 x1)) |
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) #s(literal -1 binary64)) x2) |
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) x1)) x2) |
(*.f64 (pow.f64 x1 #s(literal -1 binary64)) x2) |
(*.f64 #s(literal 1 binary64) (/.f64 x2 x1)) |
(*.f64 (neg.f64 x2) (/.f64 #s(literal -1 binary64) x1)) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x1 #s(literal -1 binary64)) (neg.f64 x2))) |
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 x2) x1)) |
(*.f64 x2 (pow.f64 x1 #s(literal -1 binary64))) |
(pow.f64 (/.f64 x1 x2) #s(literal -1 binary64)) |
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 x2)) (neg.f64 x1)) |
(/.f64 (*.f64 x2 #s(literal 1 binary64)) x1) |
(/.f64 (*.f64 (neg.f64 x2) #s(literal 1 binary64)) (neg.f64 x1)) |
(/.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) x1) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 x1 x2) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 x1 x2)) |
(/.f64 (neg.f64 x2) (neg.f64 x1)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 x1 x2))) |
(/.f64 x2 x1) |
(neg.f64 (/.f64 (neg.f64 x2) x1)) |
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 x1)) (/.f64 (neg.f64 x2) x1)) |
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 x2) x1)) |
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) #s(literal -1 binary64)) x2) |
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) x1)) x2) |
(*.f64 (pow.f64 x1 #s(literal -1 binary64)) x2) |
(*.f64 #s(literal 1 binary64) (/.f64 x2 x1)) |
(*.f64 (neg.f64 x2) (/.f64 #s(literal -1 binary64) x1)) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2)) |
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x1 #s(literal -1 binary64)) (neg.f64 x2))) |
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 x2) x1)) |
(*.f64 x2 (pow.f64 x1 #s(literal -1 binary64))) |
(pow.f64 (/.f64 x1 x2) #s(literal -1 binary64)) |
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 x2)) (neg.f64 x1)) |
(/.f64 (*.f64 x2 #s(literal 1 binary64)) x1) |
(/.f64 (*.f64 (neg.f64 x2) #s(literal 1 binary64)) (neg.f64 x1)) |
(/.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) x1) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 x1 x2) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 x1 x2)) |
(/.f64 (neg.f64 x2) (neg.f64 x1)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 x1 x2))) |
(/.f64 x2 x1) |
(neg.f64 (/.f64 (neg.f64 x2) x1)) |
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 x1)) (/.f64 (neg.f64 x2) x1)) |
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 x2) x1)) |
#s(literal 67553994410557440/1179039625338151 binary64) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (/.f64 x2 x1))) |
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(neg.f64 (atan.f64 (/.f64 (neg.f64 x2) x1))) |
(atan.f64 (/.f64 x2 x1)) |
(*.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) (/.f64 x1 (*.f64 x1 x1))) |
(*.f64 (/.f64 (*.f64 x1 x2) x1) (pow.f64 x1 #s(literal -1 binary64))) |
(*.f64 (/.f64 (neg.f64 x2) x1) (/.f64 x1 (neg.f64 x1))) |
(*.f64 (pow.f64 x1 #s(literal -2 binary64)) (*.f64 x1 x2)) |
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) |
(*.f64 (*.f64 x1 x2) (pow.f64 x1 #s(literal -2 binary64))) |
(*.f64 (*.f64 (neg.f64 x1) x2) (neg.f64 (pow.f64 x1 #s(literal -2 binary64)))) |
(*.f64 (/.f64 (/.f64 x2 x1) x1) x1) |
(*.f64 (neg.f64 x2) (/.f64 x1 (*.f64 (neg.f64 x1) x1))) |
(*.f64 (neg.f64 x2) (*.f64 (neg.f64 (pow.f64 x1 #s(literal -2 binary64))) x1)) |
(*.f64 (/.f64 x2 x1) (/.f64 x1 x1)) |
(*.f64 x1 (/.f64 (/.f64 x2 x1) x1)) |
(pow.f64 (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))) #s(literal -1 binary64)) |
(/.f64 (/.f64 (*.f64 (neg.f64 x1) x2) #s(literal -1 binary64)) (*.f64 x1 x1)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (pow.f64 x1 #s(literal -2 binary64))) (*.f64 (neg.f64 x1) x2)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (pow.f64 x1 #s(literal -2 binary64))) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) |
(/.f64 (*.f64 x1 #s(literal 1 binary64)) (*.f64 x1 (/.f64 x1 x2))) |
(/.f64 (*.f64 (*.f64 x1 x2) #s(literal 1 binary64)) (*.f64 x1 x1)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) (*.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)))))) |
(/.f64 (/.f64 (*.f64 (neg.f64 x1) x2) x1) (neg.f64 x1)) |
(/.f64 (neg.f64 (/.f64 (*.f64 x1 x2) x1)) (neg.f64 x1)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) #s(literal 1 binary64)) (*.f64 (*.f64 (neg.f64 x1) x2) (*.f64 x1 x1))) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)) (*.f64 x1 x1))) |
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (*.f64 x1 x1)) (*.f64 (*.f64 x1 x1) (*.f64 (neg.f64 x1) x2))) (*.f64 (*.f64 x1 x1) (*.f64 x1 x1))) |
(/.f64 (/.f64 (*.f64 x1 x2) x1) x1) |
(/.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (*.f64 (*.f64 x1 x1) (*.f64 (neg.f64 x1) x2))) |
(/.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 x1 (/.f64 (*.f64 x1 x2) x1))) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 (*.f64 x1 x2)))) |
(/.f64 (*.f64 x1 x2) (*.f64 x1 x1)) |
(/.f64 (*.f64 (neg.f64 x1) x2) (*.f64 (neg.f64 x1) x1)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))))) |
(/.f64 x1 (*.f64 x1 (/.f64 x1 x2))) |
(neg.f64 (*.f64 x1 (/.f64 (/.f64 (neg.f64 x2) x1) x1))) |
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 x2) x1) x1) x1)) |
(neg.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1))) |
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1))) |
(+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) |
(*.f64 (neg.f64 (pow.f64 x1 #s(literal -2 binary64))) (neg.f64 x2)) |
(*.f64 (pow.f64 x1 #s(literal -1 binary64)) (/.f64 x2 x1)) |
(*.f64 #s(literal 1 binary64) (/.f64 (/.f64 x2 x1) x1)) |
(*.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal -2 binary64)))) |
(*.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 (neg.f64 x2) x1)) |
(*.f64 #s(literal -1 binary64) (/.f64 (/.f64 (neg.f64 x2) x1) x1)) |
(*.f64 x2 (pow.f64 x1 #s(literal -2 binary64))) |
(pow.f64 (*.f64 x1 (/.f64 x1 x2)) #s(literal -1 binary64)) |
(/.f64 (*.f64 (neg.f64 x2) #s(literal 1 binary64)) (*.f64 (neg.f64 x1) x1)) |
(/.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) (*.f64 x1 x1)) |
(/.f64 (/.f64 (neg.f64 x2) x1) (neg.f64 x1)) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x1 (/.f64 x1 x2)) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 x2))) |
(/.f64 (neg.f64 x2) (*.f64 (neg.f64 x1) x1)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x1 (/.f64 x1 x2)))) |
(/.f64 (/.f64 x2 x1) x1) |
(/.f64 x2 (*.f64 x1 x1)) |
(neg.f64 (/.f64 (/.f64 (neg.f64 x2) x1) x1)) |
(-.f64 #s(literal 0 binary64) (/.f64 (/.f64 (neg.f64 x2) x1) x1)) |
(*.f64 (atan.f64 (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (*.f64 (/.f64 (/.f64 x2 x1) x1) x1))) |
(*.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) (/.f64 x1 (*.f64 x1 x1))) |
(*.f64 (/.f64 (*.f64 x1 x2) x1) (pow.f64 x1 #s(literal -1 binary64))) |
(*.f64 (/.f64 (neg.f64 x2) x1) (/.f64 x1 (neg.f64 x1))) |
(*.f64 (pow.f64 x1 #s(literal -2 binary64)) (*.f64 x1 x2)) |
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) |
(*.f64 (*.f64 x1 x2) (pow.f64 x1 #s(literal -2 binary64))) |
(*.f64 (*.f64 (neg.f64 x1) x2) (neg.f64 (pow.f64 x1 #s(literal -2 binary64)))) |
(*.f64 (/.f64 (/.f64 x2 x1) x1) x1) |
(*.f64 (neg.f64 x2) (/.f64 x1 (*.f64 (neg.f64 x1) x1))) |
(*.f64 (neg.f64 x2) (*.f64 (neg.f64 (pow.f64 x1 #s(literal -2 binary64))) x1)) |
(*.f64 (/.f64 x2 x1) (/.f64 x1 x1)) |
(*.f64 x1 (/.f64 (/.f64 x2 x1) x1)) |
(pow.f64 (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))) #s(literal -1 binary64)) |
(/.f64 (/.f64 (*.f64 (neg.f64 x1) x2) #s(literal -1 binary64)) (*.f64 x1 x1)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (pow.f64 x1 #s(literal -2 binary64))) (*.f64 (neg.f64 x1) x2)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (pow.f64 x1 #s(literal -2 binary64))) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) |
(/.f64 (*.f64 x1 #s(literal 1 binary64)) (*.f64 x1 (/.f64 x1 x2))) |
(/.f64 (*.f64 (*.f64 x1 x2) #s(literal 1 binary64)) (*.f64 x1 x1)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)) (*.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1)))))) |
(/.f64 (/.f64 (*.f64 (neg.f64 x1) x2) x1) (neg.f64 x1)) |
(/.f64 (neg.f64 (/.f64 (*.f64 x1 x2) x1)) (neg.f64 x1)) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) #s(literal 1 binary64)) (*.f64 (*.f64 (neg.f64 x1) x2) (*.f64 x1 x1))) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)) (*.f64 x1 x1))) |
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (*.f64 x1 x1)) (*.f64 (*.f64 x1 x1) (*.f64 (neg.f64 x1) x2))) (*.f64 (*.f64 x1 x1) (*.f64 x1 x1))) |
(/.f64 (/.f64 (*.f64 x1 x2) x1) x1) |
(/.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (*.f64 (*.f64 x1 x1) (*.f64 (neg.f64 x1) x2))) |
(/.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 x1 (/.f64 (*.f64 x1 x2) x1))) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 (*.f64 x1 x2)))) |
(/.f64 (*.f64 x1 x2) (*.f64 x1 x1)) |
(/.f64 (*.f64 (neg.f64 x1) x2) (*.f64 (neg.f64 x1) x1)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))))) |
(/.f64 x1 (*.f64 x1 (/.f64 x1 x2))) |
(neg.f64 (*.f64 x1 (/.f64 (/.f64 (neg.f64 x2) x1) x1))) |
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 x2) x1) x1) x1)) |
(neg.f64 (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1))) |
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 (neg.f64 x1) x1) (/.f64 x2 x1))) |
(+.f64 #s(literal 0 binary64) (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) |
(*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x1) x2))) |
(*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)))) |
(*.f64 (neg.f64 x1) (neg.f64 x2)) |
(*.f64 (neg.f64 x2) (neg.f64 x1)) |
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x1) x2)) |
(*.f64 x1 x2) |
(*.f64 x2 x1) |
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x1 x2) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 x1 x2))))) |
(/.f64 (neg.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)))) (*.f64 x1 x2)) |
(/.f64 (neg.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64)))) (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)))) |
(/.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (*.f64 (neg.f64 x1) x2)) |
(/.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x1) x2) (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)) (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))))) |
(neg.f64 (*.f64 (neg.f64 x1) x2)) |
(fma.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x1) x2)) #s(literal 0 binary64)) |
(fma.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) #s(literal 0 binary64)) |
(fma.f64 (neg.f64 x1) (neg.f64 x2) #s(literal 0 binary64)) |
(fma.f64 (neg.f64 x2) (neg.f64 x1) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x1) x2) #s(literal 0 binary64)) |
(fma.f64 x1 x2 #s(literal 0 binary64)) |
(fma.f64 x2 x1 #s(literal 0 binary64)) |
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (/.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)) (*.f64 (neg.f64 x1) x2))) |
(-.f64 (/.f64 #s(literal 0 binary64) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64))) (/.f64 (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x1) x2) #s(literal 2 binary64)))) |
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) |
(+.f64 (*.f64 x1 x2) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 x1 x2)) |
(*.f64 (atan.f64 (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (*.f64 (/.f64 (/.f64 x2 x1) x1) x1))) |
(*.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) (/.f64 (*.f64 x1 x1) (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (*.f64 (*.f64 (neg.f64 x1) x2) x1) (/.f64 #s(literal -1 binary64) (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (*.f64 (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) x1) x1) |
(*.f64 (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) (*.f64 x1 x1)) |
(*.f64 (*.f64 x1 x1) (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (neg.f64 x2) (/.f64 (*.f64 x1 x1) (neg.f64 (pow.f64 x1 #s(literal 3 binary64))))) |
(*.f64 (neg.f64 x2) (*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x1 #s(literal 3 binary64))) (*.f64 x1 x1))) |
(*.f64 x1 (*.f64 (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) x1)) |
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x1) x2) x1) #s(literal -1 binary64)) (pow.f64 x1 #s(literal 3 binary64))) |
(/.f64 (*.f64 (*.f64 x1 x1) #s(literal 1 binary64)) (/.f64 (pow.f64 x1 #s(literal 3 binary64)) x2)) |
(/.f64 (*.f64 (*.f64 x1 x1) x2) (pow.f64 x1 #s(literal 3 binary64))) |
(/.f64 (*.f64 x2 (*.f64 x1 x1)) (pow.f64 x1 #s(literal 3 binary64))) |
(/.f64 (neg.f64 (*.f64 (*.f64 (neg.f64 x1) x2) x1)) (pow.f64 x1 #s(literal 3 binary64))) |
(/.f64 (*.f64 (*.f64 (neg.f64 x1) x2) x1) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (pow.f64 x1 #s(literal 3 binary64))) (*.f64 (*.f64 (neg.f64 x1) x2) x1))) |
(/.f64 (*.f64 x1 x1) (/.f64 (pow.f64 x1 #s(literal 3 binary64)) x2)) |
(neg.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x1) x2) x1) (pow.f64 x1 #s(literal 3 binary64)))) |
(neg.f64 (*.f64 (*.f64 x1 x1) (/.f64 (neg.f64 x2) (pow.f64 x1 #s(literal 3 binary64))))) |
(neg.f64 (*.f64 (/.f64 (neg.f64 x2) (pow.f64 x1 #s(literal 3 binary64))) (*.f64 x1 x1))) |
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 x1 #s(literal 3 binary64))) (neg.f64 x2)) |
(*.f64 #s(literal 1 binary64) (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (neg.f64 x2) (/.f64 #s(literal -1 binary64) (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 x2) (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 x2 (/.f64 #s(literal 1 binary64) (pow.f64 x1 #s(literal 3 binary64)))) |
(pow.f64 (/.f64 (pow.f64 x1 #s(literal 3 binary64)) x2) #s(literal -1 binary64)) |
(/.f64 (*.f64 (neg.f64 x2) #s(literal 1 binary64)) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(/.f64 (/.f64 (neg.f64 x2) #s(literal -1 binary64)) (pow.f64 x1 #s(literal 3 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (pow.f64 x1 #s(literal 3 binary64)) x2) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 x1 #s(literal 3 binary64)) x2)) |
(/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (pow.f64 x1 #s(literal 3 binary64)) x2))) |
(/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) |
(neg.f64 (/.f64 (neg.f64 x2) (pow.f64 x1 #s(literal 3 binary64)))) |
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (/.f64 (neg.f64 x2) (pow.f64 x1 #s(literal 3 binary64)))) |
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 x2) (pow.f64 x1 #s(literal 3 binary64)))) |
(*.f64 (atan.f64 (*.f64 (*.f64 (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) x1) x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 #s(literal 67553994410557440/1179039625338151 binary64) (atan.f64 (*.f64 (*.f64 (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) x1) x1))) |
(*.f64 #s(literal -1 binary64) x2) |
(*.f64 x2 #s(literal -1 binary64)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 x2 x2)) (+.f64 #s(literal 0 binary64) x2)) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 x2 #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 x2 x2 (*.f64 #s(literal 0 binary64) x2)))) |
(neg.f64 x2) |
(-.f64 #s(literal 0 binary64) x2) |
(+.f64 #s(literal 0 binary64) (neg.f64 x2)) |
(atan.f64 (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) |
(atan.f64 (*.f64 (/.f64 (/.f64 x2 x1) x1) x1)) |
(*.f64 #s(literal -1 binary64) x1) |
(*.f64 x1 #s(literal -1 binary64)) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) x1)) |
(/.f64 (neg.f64 (pow.f64 x1 #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 x1 x1 (*.f64 #s(literal 0 binary64) x1)))) |
(/.f64 (neg.f64 x1) #s(literal 1 binary64)) |
(/.f64 (*.f64 (neg.f64 x1) x1) (+.f64 #s(literal 0 binary64) x1)) |
(/.f64 x1 #s(literal -1 binary64)) |
(neg.f64 x1) |
(-.f64 #s(literal 0 binary64) x1) |
(+.f64 #s(literal 0 binary64) (neg.f64 x1)) |
(atan.f64 (*.f64 (*.f64 (/.f64 x2 (pow.f64 x1 #s(literal 3 binary64))) x1) x1)) |
Compiled 3 065 to 807 computations (73.7% saved)
15 alts after pruning (14 fresh and 1 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 186 | 12 | 198 |
Fresh | 3 | 2 | 5 |
Picked | 4 | 1 | 5 |
Done | 0 | 0 | 0 |
Total | 193 | 15 | 208 |
Status | Accuracy | Program |
---|---|---|
99.4% | (*.f64 (atan.f64 (/.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 #s(literal -1 binary64) x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.3% | (*.f64 (atan.f64 (/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (*.f64 x1 x1)) (*.f64 (*.f64 x1 x1) (*.f64 (neg.f64 x1) x2))) (*.f64 (*.f64 x1 x1) (*.f64 x1 x1)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.5% | (*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (/.f64 (*.f64 (neg.f64 x1) x1) (+.f64 #s(literal 0 binary64) x1)) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.4% | (*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) #s(literal 67553994410557440/1179039625338151 binary64)) | |
99.4% | (*.f64 (atan.f64 (/.f64 (neg.f64 (*.f64 x2 x2)) (*.f64 (neg.f64 x1) x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
✓ | 99.5% | (*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
99.4% | (*.f64 (atan.f64 (/.f64 x1 (*.f64 x1 (/.f64 x1 x2)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.5% | (*.f64 (atan.f64 (/.f64 #s(literal 1 binary64) (/.f64 x1 x2))) #s(literal 67553994410557440/1179039625338151 binary64)) | |
99.4% | (*.f64 (atan.f64 (/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.4% | (*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) #s(literal 67553994410557440/1179039625338151 binary64)) | |
99.4% | (*.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 x2))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.4% | (*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) #s(literal 67553994410557440/1179039625338151 binary64)) | |
99.4% | (*.f64 (atan.f64 (*.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 (neg.f64 x2) x1)) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.4% | (*.f64 (atan.f64 (*.f64 (neg.f64 x2) (/.f64 x1 (*.f64 (neg.f64 x1) x1)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) | |
99.4% | (*.f64 (atan.f64 (*.f64 (neg.f64 x2) (*.f64 (neg.f64 (pow.f64 x1 #s(literal -2 binary64))) x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
Compiled 512 to 281 computations (45.1% saved)
Total -0.5b remaining (-149.5%)
Threshold costs -0.5b (-149.5%)
Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 (atan.f64 (/.f64 #s(literal 1 binary64) (/.f64 x1 x2))) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) #s(literal 67553994410557440/1179039625338151 binary64)) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (neg.f64 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 #s(literal 1 binary64) (/.f64 x1 x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (neg.f64 x2) (/.f64 x1 (*.f64 (neg.f64 x1) x1)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (*.f64 x1 x1))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 (neg.f64 (*.f64 x2 x2)) (*.f64 (neg.f64 x1) x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x1) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 x1 (*.f64 x1 (/.f64 x1 x2)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 x2))) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 #s(literal 1 binary64) (*.f64 x1 (/.f64 x1 (*.f64 x1 x2))))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 #s(literal -1 binary64) x2))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (*.f64 (/.f64 #s(literal -1 binary64) x1) (/.f64 (neg.f64 x2) x1)) x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (/.f64 (*.f64 (neg.f64 x1) x1) (+.f64 #s(literal 0 binary64) x1)) x2)) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (*.f64 x1 x1)) (*.f64 (*.f64 x1 x1) (*.f64 (neg.f64 x1) x2))) (*.f64 (*.f64 x1 x1) (*.f64 x1 x1)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (neg.f64 x2) (*.f64 (neg.f64 (pow.f64 x1 #s(literal -2 binary64))) x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (*.f64 (/.f64 (neg.f64 x2) (neg.f64 (pow.f64 x1 #s(literal 3 binary64)))) (*.f64 x1 x1))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (/.f64 (neg.f64 (pow.f64 x2 #s(literal 3 binary64))) (*.f64 (neg.f64 x1) (*.f64 x2 x2)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
(*.f64 (atan.f64 (exp.f64 (*.f64 (log.f64 (/.f64 x1 x2)) #s(literal -1 binary64)))) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
Outputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
5 calls:
5.0ms | (*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
5.0ms | (/.f64 x2 x1) |
5.0ms | (atan.f64 (/.f64 x2 x1)) |
5.0ms | x1 |
5.0ms | x2 |
Accuracy | Segments | Branch |
---|---|---|
99.5% | 1 | x2 |
99.5% | 1 | x1 |
99.5% | 1 | (*.f64 (atan.f64 (/.f64 x2 x1)) (/.f64 #s(literal 180 binary64) #s(literal 3537118876014453/1125899906842624 binary64))) |
99.5% | 1 | (atan.f64 (/.f64 x2 x1)) |
99.5% | 1 | (/.f64 x2 x1) |
Compiled 17 to 19 computations (-11.8% saved)
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 6 | 6 |
1× | saturated |
Inputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
Outputs |
---|
(*.f64 (atan.f64 (/.f64 x2 x1)) #s(literal 67553994410557440/1179039625338151 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 8 | 14 |
0 | 13 | 14 |
1 | 22 | 14 |
2 | 57 | 14 |
3 | 230 | 14 |
0 | 1238 | 14 |
1× | fuel |
1× | iter limit |
1× | iter limit |
1× | node limit |
1× | iter limit |
Compiled 20 to 16 computations (20% saved)
Compiled 28 to 28 computations (0% saved)
Loading profile data...